Windows RT(Windows 8ストア用)でテキストファイルを1行ずつ読む方法についての明確な説明が見つかりません。
フォルダーがあるとしましょう:MyFolder/Notes.txt
そして、Notes.txt からデータを読み取り、それを文字列の配列に追加したいと考えています。
そのファイルから読み書きするにはどうすればよいですか? 以前は StreamReader を使用していましたが、今では非常に混乱しています。そして、開発サンプルはそれほど役に立ちません。
Windows RT(Windows 8ストア用)でテキストファイルを1行ずつ読む方法についての明確な説明が見つかりません。
フォルダーがあるとしましょう:MyFolder/Notes.txt
そして、Notes.txt からデータを読み取り、それを文字列の配列に追加したいと考えています。
そのファイルから読み書きするにはどうすればよいですか? 以前は StreamReader を使用していましたが、今では非常に混乱しています。そして、開発サンプルはそれほど役に立ちません。
Ive managed to find the answer myself. Thanks for the help.
// READ FILE
public async void ReadFile()
{
// settings
var path = @"MyFolder\MyFile.txt";
var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
// acquire file
var file = await folder.GetFileAsync(path);
var readFile = await Windows.Storage.FileIO.ReadLinesAsync(file);
foreach (var line in readFile)
{
Debug.WriteLine("" + line.Split(';')[0]);
}
}
MyFile.txt has:
Test1;Description1;
Test2;Description2;
//Output for ReadFile()
Test1
Test2
を使用する必要はありませんFile.ReadLines
。必要に応じて、次のような実装を試してください。
using (StreamReader reader = new StreamReader("notes.txt")) { while (reader.Peek() >= 0) { Console.WriteLine(reader.ReadLine()); } }
foreach (var line in File.ReadLines("MyFolder/Notes.txt"))
{
...
}
ファイルを 1 行ずつ読み取ります。File.ReadAllLines
これは、ファイル全体を一度に読み取るのとは異なります。
一度にすべてを配列に読み込みたい場合は、後者を使用してください。