【发布时间】:2016-08-26 09:42:32
【问题描述】:
我正在使用 FileStream 和 BinaryWriter 创建一些二进制文件,并将文件放在 MyDocuments 中。但问题是,当我打开资源管理器窗口时,我看到了重复的文档文件夹。
是我做错了什么还是 Windows 中存在错误?
如果我关闭并重新打开资源管理器,多余的文档文件夹就会消失。没什么大不了的,但它会带来令人讨厌的客户体验。
代码
var fileName = "FileStreamTest_{0:yyyyMMdd_HHmmss}.bin";
var filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string file = Path.Combine(filePath, string.Format(fileName, DateTime.Now));
short length = 5;
using (var fs = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.None))
{
using (BinaryWriter writer = new BinaryWriter(fs))
{
writer.Write(length);
for (int i = 0; i < length; i++)
{
writer.Write((float)i);
}
}
}
资源管理器
附录
我应该澄清一下。这实际上并没有复制文件夹 C:\users\username\Documents。复制是在 Windows 资源管理器导航窗格中显示到该文档文件夹的链接。
- 环境:Windows 10 教育版
- .NET 版本:4.6.1
【问题讨论】:
-
当我运行你的代码时我没有得到这个:P
-
你为什么给
writer.Write()打了两次电话?此外,这些文件不是由您发布的代码创建的 -
@Rahul 第一次写入写入元素的数量,第二次将它们放入..
-
确保在窗口资源管理器中显示文件扩展名。您不能有相同文件名的重复项,因此扩展名必须不同。
-
来自some quick Googling 看来这是一个常见问题,可能与 OneDrive 有关。从屏幕截图中图标上的绿色复选标记来看,您似乎正在使用 OneDrive?我没有,所以也许这就是我没有看到这个问题的原因。
标签: c# .net windows-10