Unity首先删除C:\Kistler\zhengti shuju1.txt文本文档里面的内容,接着读取C:\Kistler\DynoWare\Data文件下的所有文本文档的名称,将其文本文档名称写入C:\Kistler\wenben mingcheng.txt,再次执行该代码时,将从C:\Kistler\DynoWare\Data文件下读取的文本文档名称与C:\Kistler\wenben mingcheng.txt里面的文本文档名称进行对比,最后将与其不同的文本文档名称的文本文档里面的内容写入C:\Kistler\zhengti shuju1.txt。整体代码
时间: 2023-06-30 11:04:11 浏览: 163
以下是一个实现上述功能的示例代码:
```c#
using System.Collections.Generic;
using System.IO;
using UnityEngine;
public class TextFileReader : MonoBehaviour
{
private const string baseDirectory = "C:/Kistler";
private const string dataFolder = "C:/Kistler/DynoWare/Data";
private const string textFileListPath = "C:/Kistler/wenben mingcheng.txt";
private const string targetTextFilePath = "C:/Kistler/zhengti shuju1.txt";
void Start()
{
// 删除目标文件里的内容
File.WriteAllText(targetTextFilePath, "");
// 获取数据文件夹下所有文本文件的名称
string[] dataFiles = Directory.GetFiles(dataFolder, "*.txt");
// 获取已记录的文本文件名称列表
List<string> recordedTextFiles = new List<string>();
if (File.Exists(textFileListPath))
{
string[] lines = File.ReadAllLines(textFileListPath);
recordedTextFiles.AddRange(lines);
}
// 将未记录的文本文件的内容写入目标文件
foreach (string dataFile in dataFiles)
{
string fileName = Path.GetFileName(dataFile);
if (!recordedTextFiles.Contains(fileName))
{
recordedTextFiles.Add(fileName);
string fileContent = File.ReadAllText(dataFile);
File.AppendAllText(targetTextFilePath, fileContent);
}
}
// 更新已记录的文本文件名称列表
File.WriteAllLines(textFileListPath, recordedTextFiles);
}
}
```
需要注意的是,这个示例代码是基于 Windows 操作系统的路径格式编写的,如果在其他操作系统上运行需要修改路径。此外,该代码还存在一些容错性问题,例如如果目标文件或列表文件不存在会导致异常等,需要根据实际情况进行处理。
阅读全文