2016-08-26 2 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 탐색기 탐색 창의 해당 문서 폴더에 표시되는 링크로 복사가 이루어집니다.

  • 환경 : 윈도우 10 교육
  • .NET 버전 : 4.6.1
+0

코드를 실행할 때 이것을 얻지 못합니다. P – BugFinder

+0

'writer.Write()'를 두 번 호출하는 이유는 무엇입니까? 게다가, 그 파일들은 게시 된 코드에 의해 생성되지 않습니다. – Rahul

+0

@Rahul은 첫 번째 쓰기가 요소의 수를 쓰고, 두 번째는 그들을 ..에 넣습니다. – BugFinder

답변

0

나는이 코드에 의해 발생합니다 생각하지 않습니다. 우연히 Windows 10에서 Documents 폴더의 비표준 위치를 정의 했습니까? 그렇다면 기여 요인이 될 수 있습니다. 나는 행운도없이 수정을 찾기 위해 지난 몇 주 동안 미친 듯이 인터넷 검색을 해왔다.

내 컴퓨터에서 문서 폴더 내의 파일에 대한 모든 쓰기 작업으로 파일 복사가 발생합니다. 입력 할 때 "이 PC"아래에 19 개의 중복 "문서"링크가 있습니다. 무해한 (겉으로보기). 그러나 미친.

업데이트 : 수정/해결 방법이 있습니다. 네비게이션 바는 다소 복잡 할 수 있지만 현재 상태보다 낫습니다. 파일 탐색기에서보기 -> 옵션 -> 폴더 및 검색 옵션 변경 ->보기 -> '탐색 창'아래로 스크롤 -> [X] 모든 폴더 표시

관련 문제