如何使用StreamReader/Writer清空Unity中C#项目的TXT文件?
可行,以下是两种实用实现方式
方法1:用File.WriteAllText(最简洁)
直接向目标文件写入空字符串,会自动覆盖并清空所有内容:
using System.IO; using UnityEngine; public class FileHandler : MonoBehaviour { public void ClearTargetTxt() { // 替换为你的文件实际路径,优先用Unity提供的合法可写路径 string filePath = Path.Combine(Application.PersistentDataPath, "yourFile.txt"); // 写入空字符串完成清空 File.WriteAllText(filePath, string.Empty); } }
方法2:延续StreamWriter的使用习惯
如果想沿用之前的StreamWriter操作,可以通过指定文件模式来清空:
using System.IO; using UnityEngine; public class FileHandler : MonoBehaviour { public void ClearTargetTxt() { string filePath = Path.Combine(Application.PersistentDataPath, "yourFile.txt"); // 方式1:传入false参数,覆盖现有内容(等同于清空) using (StreamWriter writer = new StreamWriter(filePath, false)) { } // 方式2:明确指定FileMode.Truncate,直接截断文件内容 using (StreamWriter writer = new StreamWriter(new FileStream(filePath, FileMode.Truncate))) { } } }
关键注意点
- 路径合法性:Unity的
Resources目录是只读的,无法直接修改其中的文件。如果你的TXT文件在Resources下,需要先将文件复制到Application.PersistentDataPath(可写目录)再执行清空操作。 - 资源释放:必须用
using语句包裹文件流对象,确保文件被正确关闭,避免后续操作因文件被占用失败。
内容的提问来源于stack exchange,提问作者DatBubby
相关产品推荐
相关产品推荐

