system.io和www

二进制
BinaryReader

文本 ascii编码
TextReader
StringReader
StreamReader
 

你要知道StringReader,StreamReader,TextReader是一个什么关系,TextReader是一个抽象类,他表示的意义是一个文本的读取器(相同的有 TextWriter),什么叫文本的读取器,就是说他从底层(也许是流)读取string出来,主要的是ReadLine方法。那么针对不同的底层有不同的 读取器,其中StreamReader是从一个流来获取数据的,而StringReader和Stream没关系了,直接从一个字符串string读取,想一个包装器一样 把一个string伪装成一个TextReader。 然后是流,刚刚说了StreamReader是从流来的,那么必定有各种各样的流类型,其中FileStream是最常见的一种流了,从一个文件中获取一个 流对象。那么还有很多别的类型的,比如MemoryStream,他是把内存的一部分当作一个流来处理,还有NetworkStream,代表一个网络流,比
如你请求一个网站的时候就会用到它,CryptoStream是一种加密解密用的流,而GZipStream是压缩用的。其实StreamReader不需要关心底层是 什么流,只需要知道他是一个Stream就行了 至于File类,算是一个快速完成任务所提供的快捷方式,比如如果从一个文件中读取所有的文本,那么你需要一个FileStream,一个 StreamReader,然后还要释放他,很麻烦,那么使用File类的ReadAllText可以一句话完成任务。

通常来说看你需要使用高级功能多还是简单完成任务多,比如你需要从一个文件中解压数据流同时解密同时读取文本,那么File类根本无法提

供这样的功能,你需要自己写各种流包装在一起,那么如果仅仅是需要读取所有数据的话,那么File.ReadAllText是再好不过了,一方面可以 让你的代码简洁,可读性好,另一方面也让你出错的几率降低,减少bug



File 多为静态
Fileinfo 为单个文件类



 C#的FileStream类提供了最原始的字节级上的文件读写功能,但我们习惯于对字符串操作,于是StreamWriter和 StreamReader类增强了FileStream,它让我们在字符串级别上操作文件,但有的时候我们还是需要在字节级上操作文件,却又不是一个字节 一个字节的操作,通常是2个、4个或8个字节这样操作,这便有了BinaryWriter和BinaryReader类,它们可以将一个字符或数字按指定 个数字节写入,也可以一次读取指定个数字节转为字符或数字。
 

        DirectoryInfo info = Directory.CreateDirectory(Application.persistentDataPath+"//aa");
        DirectoryInfo fo = new DirectoryInfo(Application.persistentDataPath + "//bb");
        fo.Create();

        FileInfo file = new FileInfo(Application.persistentDataPath + "/aa" + "//aa.txt");
        StreamWriter writer=file.AppendText();
        writer.Write("aa");
        writer.Write("bb");
        writer.Close();
        writer.Dispose();

        FileStream stream = File.Create(Application.persistentDataPath + "/bb" + "//bb.txt");
        StreamWriter reader = new StreamWriter(stream);
        reader.Write("cc");
        reader.Write("dd");
        reader.Close();
        reader.Dispose();


        FileInfo aaFile =new FileInfo(Application.persistentDataPath + "/aa/aa.txt");
        FileStream stream = aaFile.Open(FileMode.Open, FileAccess.Read);
        StreamReader read = new StreamReader(stream);
       string txt= read.ReadLine();
       read.Close();
       read.Dispose();
       Debug.Log(txt);

主要思路
获取流

然后用streamwrite 和streamread 

==============================================
    IEnumerator Load()
    {
        WWW www = new WWW("");
        yield return www;

    }

  StartCoroutine(Load()); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值