【发布时间】:2017-01-28 20:12:33
【问题描述】:
我需要将图像(例如 .iso、.img)写入 SD 卡。使用应该无关紧要,但它恰好是将可启动映像写入 sdcard 用于 rasperry pi。
在 Linux/Mono 上,我会执行以下操作:
using (var stream = File.OpenWrite("H:\\"))
{
//Copy the .img file to stream
}
但是,我在 Windows 机器上执行此操作。这抛出:
UnauthorizedAccessException:“对路径 'H:\' 的访问被拒绝。”
【问题讨论】:
-
不是侮辱你的智商,你的Windows主机H:\下的SD卡也挂载了吗?
-
我很惊讶它在 Linux/Mono 上的工作方式如此。我不认为它会那样工作。
-
那么您根本无法像尝试那样使用文件流写入设备。在 Windows 中,您试图打开一个不存在的文件并得到一个正确的错误。
-
我认为这里的问题是您试图打开一个文件
OpenWrite(),但只提供一个驱动器 ID。在该位置没有要打开的文件。相反,您可能应该使用图像数据创建一个新流,并将其写入路径,而不是尝试打开路径以允许写入。 -
你可能想看看this SO question,它是关于对文件系统进行原始读取而不是像你一样的原始写入,所以你需要用写出的方法来更新它.