C#流Stream的使用总结

文件流占用资源比较多,而且工作效率叫低,所以在使用完流操作后应及时使用Close()关闭流

也可以使用using来及时的释放流所占用的资源


一、文件流FileStream
 byte[] byteText;
 using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None))
 {
  byteText = new byte[fileStream .Length];
  fileStream .Read(byteText, 0, byteText.Length);
 }

 fileStream .Close();
 //FileStream的实例化还可以用File.Open(), File.OpenRead()

 

 二、读写文本文件:StreamReader/StreamWrite
 FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);
 using (StreamReader streamReader = new StreamReader(fileStream ))
 {
  while (streamReader .Peek() >= 0)  //没有可用字符,返回-1
  {
   Console.WriteLine(streamReader .ReadLine());
  }
 }
 fileStream .Close();

 

 三、二进制流:BinaryReader/BinaryWriter
 FileStream fileStream  = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);
 using(BinaryReader binaryReader = new BinaryReader(fileStream ))
 {
  int length = binaryReader.Read(buff, 0, buff.Length);
 }
 fileStream .Close();

 

 四、网络流:NetworkStream
 using(NetworkStream networkStream = new NetworkStream(sock))
 {
  networkStream .Write(buff, 0, buff.Length);  //将buff发送到网络
 }

 

 五、缓冲流:BufferedStream
 内存缓冲流实际上是内存中的一个字节块
 利用缓冲可以避免操作系统频繁地到磁盘上读取数据,从而减轻了操作系统的负担。


六、内存流:MemoryStream
 一个无缓冲流,它所封装的数据直接放在内存中,因此可以用于快速临时存储、进程间传递信息等。

 


你可能感兴趣的:(C#语言编程技巧)