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 탐색기 탐색 창의 해당 문서 폴더에 표시되는 링크로 복사가 이루어집니다.
- 환경 : 윈도우 10 교육
- .NET 버전 : 4.6.1
코드를 실행할 때 이것을 얻지 못합니다. P – BugFinder
'writer.Write()'를 두 번 호출하는 이유는 무엇입니까? 게다가, 그 파일들은 게시 된 코드에 의해 생성되지 않습니다. – Rahul
@Rahul은 첫 번째 쓰기가 요소의 수를 쓰고, 두 번째는 그들을 ..에 넣습니다. – BugFinder