【问题标题】:System.IO.FileStream creates duplicate folders in ExplorerSystem.IO.FileStream 在资源管理器中创建重复文件夹
【发布时间】: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


【解决方案1】:

我不认为这是由您的代码引起的。您是否在 Win 10 中为您的 Documents 文件夹定义了一个非标准位置?如果是这样,那可能是一个促成因素。在过去的几周里,我一直在疯狂地谷歌搜索以找到解决方法,但没有任何运气。

在我的机器上,对 Documents 文件夹中文件的任何写入操作都会触发该问题 - 甚至是复制文件。当我键入此内容时,“这台电脑”下有 19 个重复的“文档”链接。无害(看似),但令人抓狂。

更新:这是一个修复/解决方法。导航栏会有点乱,但总比现状好。在文件资源管理器中,转到查看 -> 选项 -> 更改文件夹和搜索选项 -> 查看 -> 向下滚动到“导航窗格” -> [X] 显示所有文件夹

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多