2012-07-01 2 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, вам нужно использовать механизм IsolStorage для чтения/записи файлов. – ZafarYousafi

+1

Есть ли исключение? Помните, что загрузка большого списка больших изображений ожидается медленно. – Vlad

+1

Если ваш файл находится в изолированном хранилище, вы должны прочитать их из IsolStorage. [Это руководство может помочь вам] (http://www.windowsphonegeek.com/tips/all-about-wp7-isolated-storage-read-and-save-text-files) –

ответ

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

Я получаю операцию, не разрешенную на IsolStorageFileStream, когда Я использую вышеуказанный код. – Subby

Смежные вопросы