黑马程序员技术交流社区
标题:
FileStream 和StreamRead的区别
[打印本页]
作者:
u010209195
时间:
2014-2-12 20:56
标题:
FileStream 和StreamRead的区别
FileStream 和StreamRead的区别 ???
最好有简单代码注释一下
作者:
涵风
时间:
2014-2-13 11:19
#region
FileStream fs;
//读取文件所在路径
string filePath = "c:\\file1.txt";
//打开文件
try
{
fs = new FileStream(filePath,FileMode.Open);
}
catch
{
Console.WriteLine("文件打开失败");
return;
}
//尚未读取的文件内容长度
long left = fs.Length;
//存储读取结果
byte[] bytes=new byte[100];
//每次读取长度
int length = bytes.Length;
//读取位置
int start = 0;
//实际返回结果长度
int num = 0;
//当文件为读取长度大于0时,不断进行读取
while (left>0)
{
fs.Position = start;
num = 0;
if (left < maxLength)
{
num = fs.Read(bytes, 0, Convert.ToInt32(left));
}
else
{
num = fs.Read(bytes,0,maxLength);
}
if (num==0)
{
break;
}
start += num;
left -= num;
Console.WriteLine(Encoding.UTF8.GetString(bytes));
}
Console.WriteLine("end of file");
Console.ReadLine();
fs.Close();
#endregion
作者:
涵风
时间:
2014-2-13 11:33
StreamReader1、利用流对象创建StreamReader对象。
文件流:
FileStream fs=new FileStream(filePath,FileMode.Open,FileAccess.ReadWrite);
StreamReader sr=new StreamReader(fs);//对文件流封装
2、StreamReader(String path).如果需要处理的是文件流,则可以根据文件路径创建一个以UTF8编码的StreamReader对象。例如:
StreamReader sr=new StreamReader(c://file1.txt);
与该方法等价的有File及FileInfo类提供的OpenText方法。例如:
StreamReader sr=File.OpenText("c:\\file1.txt");
默认情况下,StreamReader采用UTF8编码形式,仅可读取UTF8格式的文件,如果读取其他格式的文件,必须指定采用的编码。例如:
StreamReader sr=new StreamReader(@"c:\\file1.txt",Encoding.Default);
作者:
squilla
时间:
2014-2-13 16:21
FileStream:是以文件流的形式读写,可适用于所有类型的文件;
StreamRead:也可以读写文件,读写文本文件;
【FileStream以流的形式读写】
static void Main(string[] args)
{
using (FileStream fssource = new FileStream(@"path1", FileMode.Open, FileAccess.Read))
{
using (FileStream fsout = new FileStream(@"path2", FileMode.Create, FileAccess.Write))
{
byte[] bt = new byte[1024 * 1024 * 10];
int res = 0;
while ((res = fssource.Read(bt, 0, bt.Length)) > 0)
{
fsout.Write(bt, 0, res);
}
}
}
}
【StreamReader两种读取方式】:
StreamReader sr = new StreamReader("test.txt", Encoding.Default);
while (!sr.EndOfStream)
{
Console.WriteLine(sr.ReadLine());
}
Console.WriteLine("-----------------");
StreamReader sr1 = new StreamReader("test.txt", Encoding.Default);
string mys=string.Empty;
while ((mys=sr1.ReadLine()) != null)
{
Console.WriteLine(mys);
}
Console.ReadKey();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2