[Unity][C#][File]File无法新建文件UnauthorizedAccessException,File.Create is denied的解决办法
那就是 保存 一个 模板空 的 blank.txt 文件,然后 复制 移动,写入 新的 文件 到指定的 位置
按照正常 的 是可以正常 创建 文件的。(所有的路径都试过,应该是File.create的问题)
创建文件夹是可以正常使用的。
File.CreateText(path);
if (!File.Exists(path))
{
System.IO.Directory.CreateDirectory(path);//创建文件夹
//System.IO.CreateDirectory(path);
print("文件夹不存在,创建"+ path);
//System.IO.File.Create(path);//创建文件 无法创建
File.CreateText(path);
// System.IO.StreamWriter(path);
}
但是 UNITY 拒绝 新建Test.txt 文件
UnauthorizedAccessException: Access to the path 'D:/Unity/UnityProjecttestTEST/Time Plan/Assets/StreamingAssets//Test.txt' is denied.
------------------------------------------------
右键新建 文本文档txt
命名为 blank.txt文件
string blankpath = Application.streamingAssetsPath +"/"+ "blank.txt";
string blankpath1 = Application.streamingAssetsPath + "/" + "blank1.txt";
if (!File.Exists(path))
{
System.IO.Directory.CreateDirectory(path);//创建文件夹
//System.IO.CreateDirectory(path);
print("文件夹不存在,创建"+ path);
//System.IO.File.Create(path);//创建文件 无法创建
//File.CreateText(path);
// System.IO.StreamWriter(path);
File.Copy(blankpath, blankpath1);
}
如下图所示, blank1.txt文件,即为 复制的文件。
-------------------------------------------------
参考资料:
1.
【整理】C#文件操作大全(SamWang)
2.
File.Copy 方法
3.
4.
5.
6.

当在Unity中遇到使用File.Create新建文件时抛出UnauthorizedAccessException错误,可以尝试先创建一个空白的txt模板文件,然后通过复制和移动来替换新文件到目标位置。这种方法能避免"Access denied"的问题,确保文件创建成功。
8335

被折叠的 条评论
为什么被折叠?



