2016-04-19 16 views
7

Potrzebuję odczytać plik tekstowy (Zasób osadzony) w moim projekcie PCL Xamarin.Forms. Na working with files Xamarin docs sugeruje ten kod:Jak odczytać plik tekstowy w projekcie PCL Xamarin Forms?

var assembly = typeof(LoadResourceText).GetTypeInfo().Assembly; 
Stream stream = assembly.GetManifestResourceStream("WorkingWithFiles.PCLTextResource.txt"); 
string text = ""; 
using (var reader = new System.IO.StreamReader (stream)) { 
    text = reader.ReadToEnd(); 
} 

Problem polega na tym, że nie mogę znaleźć co to LoadResourceText jest. Wszystko, co znalazłem, to to, że jest to rodzaj w moim Zgromadzeniu. Ale nie mogę naprawdę zrozumieć, co to znaczy.

I nie mogę znaleźć nigdzie jasnego praktycznego wyjaśnienia tego, co muszę zrobić.

Każda pomoc?

Dzięki

+0

https://components.xamarin.com/view/pclstorage –

+0

przechowywania PCL nie działa dla istniejących osadzonych plików zasobów. – Dpedrinha

Odpowiedz

6

Aby odczytać istniejącego pliku, który chcesz wymienić LoadResourceText z klasą, które masz w swoim projekcie PCL. Służy do pobrania zespołu zawierającego osadzony plik. Będziesz także musiał zastąpić WorkingWithFiles przestrzenią nazw swojego projektu PCL.

Należy dodać using System.Reflection; dla kodu do kompilacji.

Jeśli chcesz utworzyć plik w czasie wykonywania i przeczytać ją później można użyć PCLStorage Library takiego:

public async Task PCLStorageSample() 
{ 
    IFolder rootFolder = FileSystem.Current.LocalStorage; 
    IFolder folder = await rootFolder.CreateFolderAsync("MySubFolder", 
     CreationCollisionOption.OpenIfExists); 
    IFile file = await folder.CreateFileAsync("answer.txt", 
     CreationCollisionOption.ReplaceExisting); 
    await file.WriteAllTextAsync("42"); 
} 
+0

Dzięki. Potrzebuję załadować istniejący plik zasobu osadzonego. Jeśli zmienię LoadResourceText na dowolną klasę w moim projekcie, to narzeka, że ​​"Typ nie zawiera definicji dla GetTypeInfo()." Przeglądam przykładowy projekt z dokumentów, a LoadResourceText go nie implementuje. Jest to po prostu normalna zawartość strony Każdy pomysł? – Dpedrinha

+0

@Dpedrinha: Czy masz ten kod w projekcie PCL? – Giorgi

+0

Tak, wewnątrz przenośnego projektu – Dpedrinha

Powiązane problemy