System.IO.WriteAllBytes - 访问路径拒绝错误

use*_*734 8 c# winforms

目前正在Windows 7上的Visual Studio 2010 .NET 4中开发C#WinForms应用程序.

首先,我使用File.ReadAllBytes()方法从文件中读取字节流.然后,当尝试写回文件时,我在使用WriteAllBytes方法时获得了路径拒绝错误的访问权限.

我试过传入文字路径,Environment.SpecialFolder.ApplicationData,Path.GetTempPath(),但都给我提供了同样的错误.

我检查了这些文件夹的权限,并尝试以管理员模式启动程序,没有运气.

小智 8

确保在使用File.WriteAllBytes()包含文件名时指定整个路径。

File.WriteAllBytes() 不能写入一般目录,它必须写入特定文件。

希望这可以帮助。


Sty*_*xxy 3

您确定该文件尚未锁定吗?如果您计划从文件中读取+写入字节,您可能需要考虑使用 Stream 类(例如 FileStream ,优点是您将锁定文件,并且同时没有其他应用程序可以访问该文件。

本主题的代码示例:

FileStream fileStream = new FileStream(
  @"c:\words.txt", FileMode.OpenOrCreate, 
  FileAccess.ReadWrite, FileShare.None);
Run Code Online (Sandbox Code Playgroud)