私は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);
}
}
}
エクスプローラ
補遺
。これは実際にC:\ users \ というユーザー名 \ Documentsというフォルダを複製しません。重複は、Windowsエクスプローラナビゲーションペインのそのドキュメントフォルダにリンクが表示されていることです。
- 環境:Windowsの10教育
- .NETバージョン:4.6.1
コードを実行すると、 P – BugFinder
なぜ 'writer.Write()'を2回呼び出すのですか?さらに、投稿されたコードによってこれらのファイルは作成されません。 – Rahul
@Rahulは最初の書き込みで要素の数を書き込み、2番目の要素は..に入れます。 – BugFinder