Unity 中对文件的简单的写入方法和 Filestream函数

最近在写游戏的时候,用到很多读取和写入,现在就带大家简单的了解一下文件的读取和写入(这里我们先说文件的写入,读取我们会在下一篇说)。

我们都知道,要写一个文件或读取一个文件,必须知道文件的路径。

这里我们就以Unity为例,Unity中获取路径的方法:

Application.dataPath(数据路径)

Application.temporaryCachePath(临时路径)

Application. persistentDataPath(持久数据路径

 

废话先不多说上代码:


using UnityEngine;

using System.Collections;

using System.IO;

using System.Text;

using System;

public class writeTxT : MonoBehaviour {

void Start(){

        string name=”write.txt”;

String path=Application.dataPath;

//写入流

writeFile(path,name);

//追加字符

addFile(path,name);

//逐个加入

addOneByOne(path)

}

 

//写入流

void writeFile(string path,string fileName){

 

            FileStream fs = newFileStream(path+"//"+fileName, FileMode.Create);   //打开一个写入流

                   stringstr = "写入文件";

                   byte[]bytes = Encoding.UTF8.GetBytes(str);

                   fs.Write(bytes,0, bytes.Length);

                   fs.Flush();     //流会缓冲,此行代码指示流不要缓冲数据,立即写入到文件。

                   fs.Close();     //关闭流并释放所有资源,同时将缓冲区的没有写入的数据,写入然后再关闭。

                   fs.Dispose();   //释放流所占用的资源,Dispose()会调用Close(),Close()会调用Flush();    也会写入缓冲区内的数据。

 

         }

 

//追加字符

         void addFile(string path,string fileName){

                   //写入流,追加文本

                   FileStreamfs = new FileStream(path+"//"+fileName, FileMode.Append,FileAccess.Write);  //追加流,权限设置为可写

                   byte[]bytes = Encoding.UTF8.GetBytes("追加字符");

                   fs.Write(bytes,0, bytes.Length);

                   fs.Flush();

         }

 

//写入流,逐个字符逐个字符吸入

         void addOneByOne(string path){

                   //写入流,逐个字符逐个字符吸入

                   FileStreamfs = new FileStream(path+"//"+"newFile.txt",FileMode.CreateNew, FileAccess.Write);    // newFile.txt并写入

                   byte[]bytes = Encoding.UTF8.GetBytes("逐个字符逐个字符吸入");

                   foreach(byte b in bytes)

                   {

                            fs.WriteByte(b);        //逐个字节逐个字节追加入文本

                   }

                   fs.Flush();

         }

 

 

}

 

代码都写完了,小伙伴时候对上面的有什么疑问,是不是对某些函数不是多了解,那么接下来我们就了解一下,代码里面用到的函数(这里我们简单的了解下)。

FileStream 

(具体用法,可以参考:https://msdn.microsoft.com/zh-cn/library/system.io.filestream.aspx)

能够对对系统上的文件进行读、写、打开、关闭等操作。并对其他与文件相关的操作系统提供句柄操作,如管道,标准输入和标准输出。读写操作可以指定为同步或异步操作。FileStream对输入输出进行缓冲,从而提高性能。

Unity 中对文件的简单的写入方法和 Filestream函数_第1张图片

提示:为了提高程序的可执行性,我们可以在打开文件的时候进行判断,该文件是否存在
if (Filestream.Exists(文件名)) {

                            print("this file already exists!");

                   }else {

                            print("create file !");

                   }

或者用

try{ 

                             

         } 

         catch(System.IO.IOException e) { 

                           

         }

方法。


就简单的介绍到这里,如有疑问请联系QQ13625263.



你可能感兴趣的:(Unity3D)