[学习日记] 文件读写 FileStream
在开发过程中,用SQL SERVER2005 来存储图片,在设置字段类型时用了varbinary(MAX) 来存储图片的数据。在SQL SERVER2005中varchar(max)、nvarchar(max) 和varbinary(max) 数据类型,统称为大值数据类型(large-value data types)。而varbinary(MAX)对应的就是Image 2^31-1 bytes。
在用LINQ TO SQL 时该字段会映射成System.Data.Linq.Binary类型。
顺便记录下用FileStream来读写文件的方法.
/// <summary>
/// 把文件的读取成字节数组
/// </summary>
/// <param name="fileName">文件完整路径</param>
/// <returns></returns>
public static byte [] ReadFile(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Read);
byte[] MyData = new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
return MyData;
}
/// <summary>
/// 写入文件
/// </summary>
/// <param name="fileName">文件完整路径</param>
/// <param name="data">数据</param>
public static void WriteFile(string fileName, byte[] data)
{
var arraySize = data.GetUpperBound(0);
FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(data, 0, arraySize);
fs.Close();
}
/// 把文件的读取成字节数组
/// </summary>
/// <param name="fileName">文件完整路径</param>
/// <returns></returns>
public static byte [] ReadFile(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Read);
byte[] MyData = new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
return MyData;
}
/// <summary>
/// 写入文件
/// </summary>
/// <param name="fileName">文件完整路径</param>
/// <param name="data">数据</param>
public static void WriteFile(string fileName, byte[] data)
{
var arraySize = data.GetUpperBound(0);
FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(data, 0, arraySize);
fs.Close();
}