初识IO流——二进制文件的读和写操作

  C#中,二进制文件的写和读操作分别由BinaryWrite类和BinaryReader类实现,它们都所属与System.IO命名空间。

  BinaryWriter类以二进制的形式将基元写入流,并支持用特定的编码写入字符串。

  BinaryReader类用特定的编码将基元数据类型读作二进制值。

  根据BinaryWriter类和BinaryReader类的实现写和读过程,其实可以将二者理解为一个"互逆"的过程。

 

  示例:分别用BinaryWrite类和BinaryReader类实现二进制文件的写操作和读操作。

 

  (1)BinaryWrite类实现写入操作:

 1 public void DoWrite(string str)
 2         {
 3             /*文件在项目中的相对于根目录的位置*/
 4             string Relative_path = "/Binary/first_" + DateTime.Today.ToString("yy-MM-dd") + ".dat";
 5 
 6             /*获取项目的根目录*/
 7             string Full_path = AppDomain.CurrentDomain.BaseDirectory + Relative_path;
 8 
 9             FileStream filestream = new FileStream(Full_path, FileMode.Append, FileAccess.Write);
10 
11             using (BinaryWriter writer = new BinaryWriter(filestream))
12             {
13 
14                 writer.Write(str);
15 
16             }
17 
18         }

 

  (2)BinaryReader类实现文件的读取操作:

 1 public string DoRead()
 2         {
 3             /*文件在项目中的相对于根目录的位置*/
 4             string Relative_path = "/Binary/first_" + DateTime.Today.ToString("yy-MM-dd") + ".dat";
 5 
 6             /*获取项目的根目录*/
 7             string Full_path = AppDomain.CurrentDomain.BaseDirectory + Relative_path;
 8 
 9             /*存储结果*/
10             string Read_text = string.Empty;
11 
12             FileStream filestream = new FileStream(Full_path, FileMode.Open, FileAccess.Read);
13 
14             using (BinaryReader reader = new BinaryReader(filestream))
15             {
16 
17                 /*判断是否读到结尾处*/
18                 while (reader.PeekChar() != -1)
19                 {
20 
21                     Read_text += reader.ReadString();
22 
23                 }
24 
25                 return Read_text;
26             }
27 
28         }

 

   

转载于:https://www.cnblogs.com/SunshineAgain/p/5703480.html

你可能感兴趣的:(初识IO流——二进制文件的读和写操作)