2016-08-26 11 views
1

私はFileStreamとBinaryWriterを使用してバイナリファイルを作成し、そのファイルをMyDocumentsに配置します。しかし、問題は、エクスプローラウィンドウを開いたままにすると、ドキュメントフォルダが重複して表示されていることです。System.IO.FileStreamは、エクスプローラで重複するフォルダを作成します

私は何か間違っているのですか、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); 
     } 
    } 
} 

エクスプローラ

Duplicating Documents

補遺

。これは実際にC:\ users \ というユーザー名 \ Documentsというフォルダを複製しません。重複は、Windowsエクスプローラナビゲーションペインのそのドキュメントフォルダにリンクが表示されていることです。

  • 環境:Windowsの10教育
  • .NETバージョン:4.6.1
+0

コードを実行すると、 P – BugFinder

+0

なぜ 'writer.Write()'を2回呼び出すのですか?さらに、投稿されたコードによってこれらのファイルは作成されません。 – Rahul

+0

@Rahulは最初の書き込みで要素の数を書き込み、2番目の要素は..に入れます。 – BugFinder

答えて

0

私はそれはあなたのコードによって引き起こされているとは思いません。万が一、Windows 10でDocumentsフォルダの非標準の場所を定義しましたか?もしそうなら、それが寄与する要因かもしれません。私は過去数週間、幸運なことなく修正を見つけるために怒っているようにグーグルで行ってきました。

私のマシンでは、ドキュメントフォルダ内のファイルへの書き込み操作によって、ファイルをコピーすることさえ問題が発生します。これをタイプすると、「This PC」の下に19個の重複「Documents」リンクがあります。無害(一見)ですが、怒っています。

更新:これは修正または回避策です。ナビゲーションバーはちょっと混乱しますが、現状より優れています。ファイルエクスプローラで[表示] - > [オプション] - > [フォルダと検索オプションの変更] - > [表示] - > [ナビゲーションペイン] - > [X]すべてのフォルダを表示

関連する問題