Что такое URI для загрузки текстового файла в WP7? - PullRequest
2 голосов
/ 08 октября 2011

Это так просто показать любое изображение в WP7, используя относительный путь URI. Но загрузка текстового файла становится большой вопросительный знак.

Пожалуйста, посмотрите на изображение и постарайтесь помочь, как должен выглядеть URI, чтобы файл был строковой переменной.

Uri error

        Dim S As String
        Dim U As New Uri("file:///Family_christmas;component/database/de/1.txt", UriKind.Absolute)
        Dim sr As New IO.StreamReader(U.LocalPath, System.Text.Encoding.Unicode)
        S = sr.ReadToEnd
        sr.Close()
        Me.Title = S.Split(Environment.NewLine)(0)
        Me.Text = S.Substring(Me.Title.Length + Environment.NewLine.Length)

* ПУТЕМ РЕШЕНИЯ *

Объявление файла как ресурса, а не содержимого. Затем используйте следующий код:

    Dim S As String
    Dim U As New Uri("database/de/1.txt", UriKind.Relative)
    Dim streamInfo As Windows.Resources.StreamResourceInfo = Application.GetResourceStream(U)
    Dim sr As New IO.StreamReader(streamInfo.Stream, System.Text.Encoding.Unicode)
    S = sr.ReadToEnd
    sr.Close()

1 Ответ

1 голос
/ 09 октября 2011

По умолчанию StreamReader ищет файл в файловой системе, а не в ресурсах. Вы можете получить поток ресурсов my , помечая ваш текстовый файл как Resource и используя этот код: (извините за преобразование vb в c #:))

StreamResourceInfo info = Application.GetResourceStream(new Uri("file:///Family_christmas;component/database/de/1.txt", UriKind.Relative));
StreamReader reader = new StreamReader(info.Stream, System.Text.Encoding.Unicode);
string text = reader.ReadToEnd();
MessageBox.Show(text);

Это сработало для меня.

...