2013-12-16 5 views
1

Я нашел очень аннулирующую проблему, и я отказался от ответа на нее самостоятельно. В настоящее время я работаю над приложением Windows 8 Store, и я использую MS Visual Studio 2012 (конечно).Использование StreamReader в приложении Windows Store

Я хотел прочитать файл csv, когда мое приложение запускается. Я создал новый .cs-файл с классами, и один из них должен владеть этим методом чтения файлов. На данный момент это Everyting все в порядке, но когда я начал осуществлять читателя, я получил следующее сообщение об ошибке:

Лучший перегруженный метод подходит для System.IO.StreamReader.StreamReader (System.IO.Stream) имеет некоторый недопустимый аргумент. Аргумент 1: не удается преобразовать из «строка» в «System.IO.Stream»

мне было интересно, потому что все ссылки MS говорит, что System.IO.StreamReader может иметь строку в качестве параметра. Weird. Просто для удовольствия я создал простое консольное приложение, и я скопировал все эти материалы StreamReader, и что это за чудо, он работал правильно ...

Возможно, я знаю слишком мало о приложении для загрузки Win 8, но я честно мог бы не найти никакой информации об этой проблеме.

Код из магазина приложения:

public void readCSV() 
{ 
    string path = @"ms-appdata://Asstes/Content/data.csv"; 
    try 
    { 
     using (System.IO.StreamReader sr = newSystem.IO.StreamReader(path)) 
     { 

      while (sr.Peek() >= 0) 
      { 
       Console.WriteLine(sr.ReadLine()); 
      } 
     } 
    } 
    finally 
    { 

    } 

} 

И код, который был принят компилятором (как консольное приложение):

static void Main(string[] args) 
{ 

    System.IO.StreamReader reader; 
    reader = new System.IO.StreamReader("path.csv"); 
    reader.ReadLine(); 
} 
+0

О, так что я мало знал об этом ... ладно, спасибо. Но этот вопрос немного более конкретный, чем другой. –

+0

Хм, созерцание связанного ответа больше не доступно, как я вижу ... –

+0

Я добавил комментарий к ответу, который содержит новую ссылку. – vcsjones

ответ

0

Я использовал это, чтобы читать файлы ресурсов:

public static async Task<IList<Person>> GetPeople() 
    { 
     var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/People.xml")); 
     var stream = await file.OpenStreamForReadAsync(); 
     using (StreamReader sr = new StreamReader(stream)) 
     { 
      while (sr.Peek() >= 0) 
      { 
       var a = sr.ReadLine(); 
      } 
     } 
    } 

У People.xml есть действие по созданию контента/Не копировать.

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