UD4L2——文件相关
UD4L2——文件相关
本章代码关键字
1 | System.IO //输入输出命名空间 |
代码中的文件操作
在电脑上我们可以在操作系统中创建删除修改文件,可以增删查改各种各样的文件类型
代码中的文件操作就是通过代码来做这些事情
文件相关操作公共类
C#提供了一个名为File(文件)的公共类
让我们可以快捷的通过代码操作文件相关
类名:File
命名空间: System.IO
File类提供了各种方法帮助我们进行文件的基础操作,需要记住这些关键API
一般情况下想要整体读写内容 可以使用File提供的Write
和Read
相关功能
文件操作File类的常用内容
-
判断文件是否存在
参数为路径+文件名,判断该文件是否存在
1
2
3
4
5
6
7
8if (File.Exists(Application.dataPath + "/UnityTeach.try"))
{
print("文件存在");
}
else
{
print("文件不存在");
} -
创建文件
参数为路径+文件名,按照该参数指示的路径创建一个文件,会返回一个文件流,文件流具体内容在下一章里详细详解
1
FileStream fs = File.Create(Application.dataPath + "/UnityTeach.uni");
-
写入文件
注意,以下所有的方法,都会在没有文件的情况下直接创建文件,在有重名文件的时候直接覆盖原文件
-
将指定的字节数组,写入到指定路径的文件中
参数为路径+文件名,将字节数组写入到参数指示的路径的文件内
1
2byte[] bytes = BitConverter.GetBytes(999);
File.WriteAllBytes(Application.dataPath + "/UnityTeach.uni", bytes);写入文件结果
1
E7 03 00 00
-
将指定的string数组内容,一行行写入到指定路径中
参数为路径+文件名,按照字符串数组一行行的写入到参数指示的路径的文件内
1
2string[] strs = new string[] { "123", "SevenL", "123123kdjfsalk", "123123123125243" };
File.WriteAllLines(Application.dataPath + "/UnityTeach2.uni", strs);写入文件结果
1
2
3
4
5123
SevenL
123123kdjfsalk
123123123125243 -
将指定字符串写入指定路径
参数为路径+文件名,将字符串写入到参数指示的路径的文件内,支持转义字符
1
File.WriteAllText(Application.dataPath + "/UnityTeach3.uni", "学习ing\n学习ing123123123123");
写入文件结果
1
2学习ing
学习ing123123123123
-
-
读取文件
-
读取字节数据
参数为路径+文件名,返回读取到的字节数组
1
2bytes = File.ReadAllBytes(Application.dataPath + "/UnityTeach.uni");
print(BitConverter.ToInt32(bytes, 0)); -
读取所有行信息
参数为路径+文件名,返回读取到的字符串数组,每行作为字符串数组的一个元素
1
2
3
4
5strs = File.ReadAllLines(Application.dataPath + "/UnityTeach2.uni");
foreach (var s in strs)
{
print(s);
} -
读取所有文本信息
参数为路径+文件名,返回读取到的字符串
1
2string str = File.ReadAllText(Application.dataPath + "/UnityTeach3.uni");
print(str);
-
-
删除文件
参数为路径+文件名,删除指定的文件,注意!删除打开中的文件,会报错
1
File.Delete(Application.dataPath + "/UnityTeach.uni");
-
复制文件
参数一:现有文件 需要是流关闭状态
参数二:目标文件 (如果该路径下文件已经存在且参数三不为****true
,会报错)
参数三:如果参数二目标文件已经存在,是否强制覆盖该文件1
File.Copy(Application.dataPath + "/UnityTeach2.uni", Application.dataPath + "/UnityTeach2_copy.copyuni");
-
文件替换
参数一:用来替换的路径
参数二:被替换的路径
参数三:备份路径会使用参数一路径的文件,替换掉参数二路径的文件,参数二路径的文件备份会被写到参数三
1
2
3File.Replace(Application.dataPath + "/UnityTeach3.uni",
Application.dataPath + "/UnityTeach2_copy.copyuni",
Application.dataPath + "/UnityTeach2_copy_backups.copyuni"); -
以流的形式,打开文件并写入或读取
参数一:路径
参数二:打开模式(新建、开启、创建、开启或者创建,追加,截断)
参数三:访问模式(读、写、读写)返回一个文件流
1
FileStream fs = File.Open(Application.dataPath + "/UnityTeach2.uni", FileMode.OpenOrCreate, FileAccess.ReadWrite);