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");
人说,如果你很想要一样东西,就放它走 。如果它回来找你,那么它永远都是你的。要是它没有回来,那么不用再等了,因为它根本就不是你的。
——伊恩·麦克尤恩