Unity顺序读取C:\Kistler\DynoWare\Data文件下的所有文本文档的名称,每次执行该代码,将读取的文本文档名称与之前读取的文本文档名称进行对比,再次写入时,删除C:\Kistler\zhengti shuju1.txt里面以前读取的数据,只写入与上一次文本文档名称不同的文本文档里面的数据。整体代码
时间: 2023-07-16 08:15:22 浏览: 86
下面是一个示例代码,可以实现你所描述的功能:
```csharp
using UnityEngine;
using System.IO;
public class TextFileReader : MonoBehaviour
{
private string previousFileName;
void Start()
{
string dataFolderPath = @"C:\Kistler\DynoWare\Data";
string[] fileNames = Directory.GetFiles(dataFolderPath);
foreach (string fileName in fileNames)
{
if (Path.GetExtension(fileName) == ".txt")
{
if (previousFileName != fileName)
{
// Clear the contents of the previous file
if (!string.IsNullOrEmpty(previousFileName))
{
File.WriteAllText(@"C:\Kistler\zhengti shuju1.txt", string.Empty);
}
// Read the contents of the current file
string fileContents = File.ReadAllText(fileName);
// Write the contents to the output file
File.AppendAllText(@"C:\Kistler\zhengti shuju1.txt", fileContents);
// Update the previous file name
previousFileName = fileName;
}
}
}
}
}
```
这个代码使用 Directory.GetFiles 方法获取指定文件夹下的所有文件名,然后遍历每个文件名。如果文件扩展名是 ".txt",则将其读取到内存中,并与上一次读取的文件名进行比较。
如果两个文件名不同,则将上一次读取的文件的内容清空,然后将当前文件的内容追加到输出文件中,并将当前文件名作为上一次读取的文件名。这样就可以确保每个文件只被写入一次,并且如果同一个文件被多次读取,只有最后一次读取的内容会被写入输出文件。
阅读全文