2012-07-01 133 views
-1

我試圖通過從文本文件中讀取每行的名稱來填充List<Image>。該文本文件如下所示:從文本文件中讀取應用程序時崩潰

image0 
image1 
image2 
image 
... 

以下代碼使我的程序完全崩潰,並使Visual Studio凍結。

int counter = 0; 
string line = string.Empty; 
StreamReader file = new StreamReader("ItemFile.txt"); 

while ((line = file.ReadLine()) != null) 
{ 
    imageCollection.Add(new Image()); 
    imageCollection[counter].Source = new BitmapImage(new Uri("Images/" + line + ".png", UriKind.Relative)); 
} 
+3

我認爲,在WP7,你需要使用IsolatedStorage機制來讀取/寫入文件。 – ZafarYousafi

+1

是否有拋出的異常?請注意,加載大圖像的列表預計會很慢。 – Vlad

+1

如果您的文件位於獨立存儲中,則應該從IsolatedStorage中讀取它們。 [該指南可能會對你有所幫助] –

回答

1

您不能在WP7上使用標準的讀/寫機制。你必須使用IsolatedStorage類來做到這一點:

IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication(); 
IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile("ItemFile.txt", FileMode.Open, FileAccess.Read); 
using (StreamReader reader = new StreamReader(fileStream)) 
{ //Visualize the text data in a TextBlock text 
    while ((line = reader .ReadLine()) != null) 
    { 
     imageCollection.Add(new Image()); 
     imageCollection[counter].Source = new BitmapImage(new Uri("Images/" + line + ".png", UriKind.Relative)); 
    } 
} 

如果你想從它在安裝過程中添加到設備作爲項目的一部分,看看這個問題,文件讀取文本:How to read files from project folders?

+0

我在IsolatedStorageFileStream中得到一個不允許的操作我使用上面的代碼。 – Subby

相關問題