我使用FileStream和BinaryWriter創建一些二進制文件,並將該文件放入MyDocuments中。但事情是,當我離開瀏覽器窗口打開時,我看到重複的文檔文件夾。System.IO.FileStream在資源管理器中創建重複文件夾
我做錯了什麼或在Windows中有bug?
如果我關閉並重新打開資源管理器,額外的文檔文件夾消失。這並不是什麼大問題,但它會造成一種令人討厭的客戶體驗。
代碼
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 \ 用戶名 \ Documents。重複是在Windows資源管理器導航窗格中顯示該文檔文件夾的鏈接。
- 環境:Windows 10教育
- .NET版本:4.6.1
當我運行你的代碼時, P – BugFinder
爲什麼你調用'writer.Write()'兩次?此外,這些文件不是由您的發佈代碼創建的 – Rahul
@Rahul第一次寫入寫入元素的數量,第二次將它們放入.. – BugFinder