【C#】关于文件的写入与读取

时间:2022-05-12 05:42:26
using UnityEngine;
using System.Collections;
using System.IO;

public class BlogFileTest : MonoBehaviour
{

//引入命名空间 system.IO

/// <summary>
/// 1.通过FileInfo和DirectoryInfo类来读取文件和文件夹属性
/// 查看文件属性,创建文件,移动文件,重命名文件,判断路径是否存在,创建目录
/// 2.通过File读写文件
/// 3.使用流来读写文件
/// FileStream
/// </summary>
void Start ()
{
//相对路径:就是找到当前程序所在的路径
//绝对路径:就是 文件的完整路径

//初始化对象
FileInfo fileInfo = new FileInfo (Application.dataPath + "//" + "MyFile.txt");
//如果文件不存在就创建
if (!fileInfo.Exists) {
fileInfo.Create ();
}
/// <summary>
/// fileInfo.Exists:表示文件是否存在
/// fileInfo.Length:获取文件大小
/// fileInfo.FullName:获取完整的名字
/// fileInfo.MoveTo():表示移动到哪里(可以用于重命名)
/// fileInfo.Extension:表示获取扩展名
/// </summary>

//------------------------------------------
//文件夹操作
DirectoryInfo dirInfo = new DirectoryInfo (Application.dataPath + "//" + "MyFile_1.txt");
/// <summary>
/// dirInfo.Parent:父目录
/// dirInfo.Root:根目录
/// dirInfo.CreationTime:创建时间
/// dirInfo.CreateSubdirectory("Ldd"):表示创建子文件夹
/// </summary>
//---------------------------------------------
//使用File读写文件
//File.WriteAllBytes(地址,字节数组[]);
//有换行
//File.WriteAllLines(地址,内容数组(string类型));
//全部写入
//File.WriteAllText(地址,内容);

//string[] strArray = File.ReadAllLines (Application.dataPath + "//" + "MyFile.txt");
////不推荐使用foreach 在Unity中 会产生大约24B的垃圾
//foreach (var item in strArray) {
//print (item);
//}
//string s = File.ReadAllText (Application.dataPath + "//" + "MyFile.txt");
//-------------------------------------------------------------------------
//关于 读写流
int length;


byte[] data = new byte[1024];
//FileMode.Append 在文件的末尾追加一些数据

FileStream readstream = new FileStream ("DoTween.jpg", FileMode.Open);
FileStream writestream = new FileStream ("MyDoTween.jpg", FileMode.Create);

while (true) {
//1数据容器,2从第几个开始读取,3最大读取的个数
length = readstream.Read (data, 0, data.Length);
if (length == 0) {
print ("读取结束");
break;
} else {
writestream.Write (data, 0, length);
}
writestream.Close ();
readstream.Close ();
}
}

【C#】关于文件的写入与读取

【C#】关于文件的写入与读取