1
세션간에 컨트롤의 내용을 저장해야합니다.IsolatedStorageFile이 파일에 쓰지 않습니다.
private void Window_Closing(object sender, CancelEventArgs e)
{
IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForAssembly();
using(IsolatedStorageFileStream stream = new IsolatedStorageFileStream("somefilename", FileMode.Create, f))
using(StreamWriter writer = new StreamWriter(stream))
{
foreach(string path in searchFoldersListView.Items)
{
writer.WriteLine(path);
}
}
}
이것은 윈도우의 Closing
이벤트에 부착이 내가 할 것입니다. 디버깅 할 때 컨트롤이 모든 항목을 통해 이동하지만 프로그램을 다시 실행할 때 컨트롤이 비어 있습니다. 파일로 이동하면 파일이 비어있는 것입니다. foreach 루프에 File.AppendAllText()
을 넣어서 일반 파일로 저장하도록 코드를 변경하면 해당 파일이 잘 저장됩니다. 왜 그런가요?
편집 : 읽기 이벤트 핸들러 :
private void Window_Initialized(object sender, EventArgs e)
{
IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForAssembly();
using(IsolatedStorageFileStream stream = new IsolatedStorageFileStream("somefilename", FileMode.OpenOrCreate, f))
using(StreamReader reader = new StreamReader(stream))
{
string line = reader.ReadLine();
while(line != null)
{
searchFoldersListView.Items.Add(line);
}
}
}
실제로 파일을 읽는 코드를 작성 했습니까? 왜 그걸 게시하지 않았 니? –
'IsolatedStorageFile'도'IDisposable'입니다. 'using' 문에도 넣으십시오. –
@HansPassant 파일을 탐색하여 파일이 비어 있음을 확인한 이후 중요하지 않은 것을 찾지 못했습니다. 어쨌든 추가되었습니다. –