文件流
- 使用IO操作文件时,要注意流关闭和释放问题!
FileAccess,访问权限(只读,只写,可读可写)
1)FileAccess.Read:
用法:获得对文件的读取访问权限,进而可以从文件中读取数据(只读)。2)FileAccess.Write:
用法:获得对文件的写入访问权限,进而可以将数据写入该文件(只写)。3)FileAccess.ReadWrite:
用法:获得读取,写入文件的访问权限, 进而可以从文件中读取,写入数据(可读可写)。
//使用FileStream来读取数据FileStream fsRead = new FileStream(@"C:\Users\SpringRain\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Read);byte[] buffer = new byte[1024 * 1024 * 5];//3.8M 5M//返回本次实际读取到的有效字节数int r = fsRead.Read(buffer, 0, buffer.Length);//将字节数组中每一个元素按照指定的编码格式解码成字符串string s = Encoding.UTF8.GetString(buffer, 0, r);//关闭流fsRead.Close();//释放流所占用的资源fsRead.Dispose();Console.WriteLine(s);
**强力推荐:**将创建文件流对象的过程写在using当中,会自动帮助我们释放资源;
// 使用FileStream来写入数据using (FileStream fsWrite = new FileStream(@"C:\Users\SpringRain\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Write)){string str = "看我游牧又把你覆盖掉";byte[] buffer = Encoding.UTF8.GetBytes(str);fsWrite.Write(buffer, 0, buffer.Length);}Console.WriteLine("写入OK");Console.ReadKey();