-1

次のコードを使用して、アセットフォルダーからテキストファイルを文字列に読み取り、それを配列に分割しています

string filepath = @"Assets\DATA.csv";
StorageFolder folder =     Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFile file = await folder.GetFileAsync(filepath); // error here
var Lines = await Windows.Storage.FileIO.ReadTextAsync(file);
string[] lines2 = Lines.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

これは正常に動作しますが、テキストファイルが 500 行を超えており、大きすぎて文字列に収まらないため、例外が発生します。

テキスト ファイルを一度に 1 行ずつ配列に直接読み込む方法はありますか 各行は改行で終了します

検索したところ、ファイルを使用してそれを行う方法があるようです。クラスですが、動作させることができます。

4

3 に答える 3

0

リストの1つの要素内のテキストの各行で、文字列のリストにそれを読み取ることができます

List<string> myList= new List<string>();
StreamReader sr = new StreamReader(filepath);

while(!sr.EndOfStream)
{
  myList.Add(sr.ReadLine());
}
于 2015-02-03T23:46:23.313 に答える
0

Windows.Storage.FileIO.ReadLinesAsyncファイルの行のリストを返す必要があります。

List<string> myLines = ReadLinesAsync(myStorageFile);
于 2015-02-03T23:49:56.733 に答える
0

使用する

System.IO.File.ReadLines(filepath)

https://msdn.microsoft.com/en-us/library/vstudio/system.io.file.readlines(v=vs.100).aspx

于 2015-02-03T23:49:57.693 に答える