文件与byte[]二进制流相互转换C#代码
// 方法一:文件转换成byte[] 二进制流
public static byte[] ReadFile(string path)
{
bool flag = File.Exists(path);
byte[] result;
if (flag)
{
FileStream fileStream = null;
BinaryReader binaryReader = null;
byte[] array = null;
try
{
fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
binaryReader = new BinaryReader(fileStream);
array = new byte[binaryReader.BaseStream.Length];
binaryReader.Read(array, 0, (int)binaryReader.BaseStream.Length);
}
catch (Exception exception)
{
LogUtils.ExceptionLog("public static byte[] ReadFile(string path)", exception);
}
finally
{
bool flag2 = fileStream != null;
if (flag2)
{
fileStream.Close();
fileStream.Dispose();
}
bool flag3 = binaryReader != null;
if (flag3)
{
binaryReader.Close();
}
fileStream = null;
binaryReader = null;
}
result = array;
}
else
{
result = null;
}
return result;
}
// 方法二:二进制流byte[]转换成文件
public static void SaveFile(byte[] bytes, string path)
{
FileStream fileStream = null;
BinaryWriter binaryWriter = null;
try
{
fileStream = new FileStream(path, FileMode.Create, FileAccess.Write);
binaryWriter = new BinaryWriter(fileStream);
binaryWriter.Write(bytes);
}
catch (Exception exception)
{
LogUtils.ExceptionLog("public static void SaveFile(byte[] bytes, string path)", exception);
}
finally
{
bool flag = fileStream != null;
if (flag)
{
fileStream.Close();
fileStream.Dispose();
}
bool flag2 = binaryWriter != null;
if (flag2)
{
binaryWriter.Close();
}
fileStream = null;
binaryWriter = null;
}
}
原文链接:http://www.jxszl.com/biancheng/C/556432.html