2011-11-12 3 views
0

파일을 만들고 데이터를 저장 한 다음 정보를 추가하려고합니다 (예 : 다음에 앱을 시작할 때).데이터를 파일에 추가 할 수 없습니다.

 IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); 
     using (var isoFileStream = new IsolatedStorageFileStream("history.dat", FileMode.Append, FileAccess.Write, myStore)) 
     { 
      //Write the data 
      using (var isoFileWriter = new StreamWriter(isoFileStream)) 
      { 
       isoFileWriter.WriteLine(m.Author + "|" + m.Receiver + "|" + m.Text + "|" + m.Date + "\r\n"); 
      } 
     } 

그러나이 작동하지 않습니다 :이 코드를 사용하고/만 첫 번째 줄에 저장됩니다 - 아무것도 내가 생성 된 파일에 추가 할 것은 아무 O_O 나는 또한이 방법을 시도 할 것입니다 :

  using (var isoFileStream = new IsolatedStorageFileStream("history.dat", FileMode.Open, myStore)) 
      { 
       // Read the data. 
       using (var isoFileReader = new StreamReader(isoFileStream)) 
       { 
        data = isoFileReader.ReadLine(); 
       } 
      } 

파일을 확인하기 위해 다른 클래스와 IsoStoreSpy 응용 프로그램을 사용했습니다. 도와주세요.

답변

2

추가 작업은 코드를 사용하여 올바르게 작동합니다. 그러나 모든 행을 읽으려면 반복해야합니다. 그렇지 않으면 첫 번째 행을 읽습니다.

while (!isoFileReader.EndOfStream) 
{ 
    string line = isoFileReader.ReadLine(); 
    System.Diagnostics.Debug.WriteLine(line); 
} 

테스트를 거쳐 작동합니다. 그리고 줄을 쓸 때 새 줄 ("\ r \ n")을 추가 할 필요가 없습니다. WriteLine이 처리합니다.

+0

아직 작동하지 않습니다. 데이터를 저장하는 것이 문제입니다. 데이터를 읽지 않습니다 (데이터를 읽는 데 외부 애플리케이션을 사용합니다). 첫 번째 행 (파일을 만들 때 작성 됨) 만 저장됩니다. o_O 이상합니다. –

+0

정확하게 코드를 사용했습니다. 추가 작업을하면 데이터가 다른 프로그램 시작에 저장됩니다. 프로젝트에서 무엇이 다른지 모릅니다. –

+0

아마도 에뮬레이터의 오류일까요? 불행히도 나는 WP7 장치를 빚지고 있지 않다. :/OK이 코드가 괜찮다는 것을 알고 좋다 - 나는 더 많은 테스트를 할 것이다. –

관련 문제