C# Path类 FileStream(文件流) 与 File(文件) 读取的区别

1.采用文件流读取数据是一点一点从文件中读取数据对内存的压力相对较小;而采用文件读取数据是一下全部读取过来对内存造成的压力相对较大

2.File读取:

string str = @"E:\QQInfo\123456789\FileRecv\new 5.txt";

//获得文件名
Console.WriteLine(Path.GetFileName(str));
//获得文件名但是不包含扩展名
Console.WriteLine(Path.GetFileNameWithoutExtension(str));
//获得文件的扩展名
Console.WriteLine(Path.GetExtension(str));
//获得文件所在的文件夹名称
Console.WriteLine(Path.GetDirectoryName(str));
//获得文件所在的全路径
Console.WriteLine(Path.GetFullPath(str));
//连接两个字符串作为路劲
Console.WriteLine(Path.Combine(@"c:\a\", "b.txt"));
string str = "学习文\r\n本写入";
System.IO.File.WriteAllText(@"C:\Users\pc\Desktop\写入文本内容.txt",str);
Console.WriteLine("写入成功!");
Console.ReadKey();
File.Create(@"C:\Users\pc\Desktop\new1.txt");
Console.WriteLine("创建成功");

File.Delete(@"C:\Users\pc\Desktop\new.txt");
Console.WriteLine("删除成功");

File.Copy(@"C:\Users\pc\Desktop\new1.txt", @"C:\Users\pc\Desktop\new2.txt");
Console.WriteLine("复制成功");

Console.ReadKey();

3.FileStream 文件流读取

FileStream fsReader = new FileStream(@"这里放路径", FileMode.OpenOrCreate, FileAccess.Read);
byte[] buffer = new byte[1024 * 1024 * 5];
int r = fsReader.Read(buffer, 0, buffer.Length);//返回本次实际读取的字节数

string s = Encoding.UTF8.GetString(buffer, 0, r);//将字节数组数组中的每一个元素按照指定的编码格式解码成字符串

fsReader.Close();//关闭流
fsReader.Dispose();//释放流资源
Console.WriteLine(s);

4.FileStream 文件流写入

using (FileStream fsWrite = new FileStream(@"这里放路径", FileMode.OpenOrCreate, FileAccess.Write))
{
         string str = "写入内容";
         byte[] buffer = Encoding.UTF8.GetBytes(str);
         fsWrite.Write(buffer, 0, buffer.Length);
}
Console.WriteLine("写入OK");
posted @ 2017-04-20 11:03  CH|heyi  阅读(2453)  评论(0编辑  收藏  举报