2013-04-11 1 views
2

프로젝트의 로컬 파일 (프로젝트의 로컬 파일)에있는 기존 파일에 데이터를 쓰려고합니다. 나는 파일이 비어 있고 데이터가 포함되어 있지 않습니다 program.However을 실행하는 동안 예외/오류가 없습니다 다음 코드StreamWriter를 사용한 후 파일이 비어 있습니다.

 Uri path = new Uri(@"Notes.txt", UriKind.Relative); 

     using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
     { 

      using (StreamWriter writefile = new StreamWriter(new IsolatedStorageFileStream(path.ToString(), FileMode.Append, FileAccess.Write,myIsolatedStorage))) 
      { 
       writefile.WriteLine("hi"); 
       writefile.Flush(); 
       writefile.Dispose(); 
      } 
     } 

을 사용했다.

파일의 빌드 작업을 '자원'으로 설정하고 콘텐츠를 '복사'로 설정했습니다. 확인하려면 파일을 제거하고 테스트했는데 추가 모드로 열려고해도 예외가 발생하지 않습니다.

편집 : 확인을 위해 개발 환경에서 파일을 열었습니다. 그러나 나중에 ISETool.exe를 사용하여 파일을 확인했습니다. 하지만 파일이 전혀 만들어지지 않았습니다! 여기 내가 사용하는 업데이트 된 코드입니다 :

Uri path = new Uri(@"Notes.txt", UriKind.Relative); 
using (var myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
using (var stream = new IsolatedStorageFileStream(path.ToString(), FileMode.OpenOrCreate, FileAccess.Write, myIsolatedStorage)) 
using (var writefile = new StreamWriter(stream)) 
     { 
      writefile.WriteLine("hi"); 
     } 
+0

당신이 파일이 어떤 데이터가 있는지 확인하는 방법? –

+0

수동으로 파일을 열어 – user2210060

+0

의 데이터를 확인했습니다. IsolatedStorageTool을 사용하여 앱에서 다운로드 했습니까? –

답변

6

편집

위의 의견을 바탕으로

, 당신의 문제가 격리 된 저장소가 어떻게 작동하는지 당신이 오해 한 것을 실제로 생각; 파일 에 저장하거나 에뮬레이터 이미지을 저장합니다. 어느 쪽도 개발 시스템의 기본 파일 시스템이 아닙니다.

개발 컴퓨터에서 파일에 액세스해야하는 경우 명령 줄 인터페이스에 신경 쓰지 않는다면 Windows Phone Power Tools (c/o Alastair Pitts, 위) 또는 the SDK's isetool.exe과 같은 유틸리티가 필요합니다.

원래의 게시물 나를 밖으로 뛰어

두 가지 :

  1. 당신은 폐기하지 않을 당신의 IsolatedStorageFileStream
  2. 당신은 IsolatedStorageFile
  3. 에서 IsolatedStorageFileStream의 인스턴스를 얻어야합니다 당신 Disposewritefile (using의 내용)에 전화 할 필요가 없습니다.

이 시도 :

using (var isolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
using (var stream = isolatedStorage.OpenFile(path.ToString(), FileMode.Append, FileAccess.Write)) 
using (var writefile = new StreamWriter(stream)) 
{ 
    writefile.WriteLine("hi"); 
} 
+0

나는 위의 코드를 시도했다. 동일한 결과 : (Build 액션이나 내용 또는 파일의 경로로 무엇인가해야합니까?mainpage.xaml이있는 폴더에 파일이 있습니다. – user2210060

+0

편집 한 질문을 확인하십시오. 모든 파일을 로컬 드라이브에 다운로드하려고하면 "IsolatedStore"폴더가 다운로드되었습니다. 폴더에 "Notes.txt"파일이 전혀 없습니다. – user2210060

+0

파일 시스템에 쓰지 못하면 예외가 발생합니다. 디버깅을 시도하고 코드가 실제로 실행되는지 확인 했습니까? 그렇다면 나중에 (별도의 블록을 사용하여) 파일을 열어 데이터가 읽을 수 있는지 확인하십시오. –