NRE的编程笔记

导航

文件流的使用

使用文件流需要引用程序集:using System.IO;

文件流涉及到的类很多:

FileInfo:操作类。通过实例化对象,通过对象去调用方法实现对文件的操作。如果需要对文件进行大量操作,建议使用这个类。

File:操作类。是一个静态类,可以通过类直接调用方法实现对文件的操作,比较方便。如果是对文件进行少量的操作,建议使用这个类。

【文件流本身就是一个抽象的概念,可以简单把下面三个类的对象理解为文件流。当我们实例化时,就可以认为我们开启了一个文件流,然后就可以通过  FileInfo    File  两个操作类对文件进行操作。需要注意的是,文件流开启之后,需要我们手动释放文件流,不然程序会报错,同时也可以使用  using  关键字来规避这个问题】

FileStream:操作的是字节和字节数组,适用于任何类型的文件。

StreamWriter   StreamReader:这两个类操作的是字符数据,只适用于文本类型的文件。

 

下面以文本文档为例:

 1 using UnityEngine;
 2 using System.IO;
 3 
 4 public class Test : MonoBehaviour
 5 {
 6     FileStream fs;
 7     StreamWriter sw;
 8     StreamReader sr;
 9 
10     private void Start()
11     {
12         Do();
13     }
14 
18     private void Do()
19     {
20         FileInfo info = new FileInfo(Application.dataPath + @"\123.txt");
21         //判断文件是否存在
22         if (info.Exists)//如果存在
23         {
24             //读取文件
25             //fs = info.OpenRead();
26             sr = info.OpenText();
27             //将读取的文件赋值给 str 并打印
28             string str = sr.ReadToEnd();
29             print(str);
30             //释放流  两种方法用一个即可
31             //fs.Dispose();
32             //fs.Close();
33             sr.Dispose();
34             sr.Close();
35         }
36         else//如果不存在
37         {
38             //创建文件
39             //fs = info.Create();//文本文件两种方法都行
40             sw = info.CreateText();
41             //写入数据
42             sw.Write("HelloWord!");
43             //释放流
44             //fs.Dispose();
45             //fs.Close();
46             sw.Dispose();
47             sw.Close();
48 
49         }
50         /////////////////////////////////////////////////////////////////////////////////////////////
51         //File 的用法
52         //fs = File.Create(Application.dataPath + @"\123.txt");
53         //sw = File.CreateText(Application.dataPath + @"\123.txt");
54     }
55 
56 }

 

使用 using 关键字就不再需要调用 Dispose() 或者 Close() 去释放流

 1 using UnityEngine;
 2 using System.IO;
 3 
 4 public class Test : MonoBehaviour
 5 {
 6     private void Start()
 7     {
 8         //使用 using 关键字就不再需要调用 Dispose() 或者 Close() 去释放流
 9         using (FileStream fileStream=new FileStream(Application.dataPath + @"\123.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite))
10         {
11             //执行代码........
12         }
13     }
14 }

 

以上是文件流简单的使用方法以及思路,里面包含的方法很多,需要去慢慢摸索。关于  FileStream  类的更多用法请到序列化相关文章查阅。

posted on 2018-01-10 21:20  NRE  阅读(266)  评论(0编辑  收藏  举报