3

これらの行をファイルから解析するためのベスト プラクティスは何ですか?

files       txt 50     // first gab are spaces, the second is tabulator
files       bmp 9979
files       all 2063
score       scr 656
index       ind 0.0779
index       ind 0.0213 

それらをCSVファイルに保存できるようにするには、値(50, 9979など)を取得する必要があります(ただし、これはこの質問の一部ではありません)。

4

5 に答える 5

5

これは、あなたの望むことですか?

BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
   String val = line.split("\\s+")[2];
   //do something with val

}
br.close();
于 2013-04-02T08:40:42.340 に答える
5

\s+返された配列の最後のセルで分割してアクセスできます。

for (String line : lines) {
    String[] data = line.split("\\s+");
    String lastEntry = data[data.length - 1];
    // lastEntry contains what you're looking for
}
于 2013-04-02T08:38:25.137 に答える
2

これは、典型的なフラット ファイルのように見えます。数字を読み取るには、関心のあるポイントで各行のカーソルを移動し、必要なすべての文字を読み取る必要があります。

あなたの場合、16から始めて行末まで読む必要があります。

1234567890123456
files       txt 50     
files       bmp 9979
files       all 2063
score       scr 656
index       ind 0.0779
index       ind 0.0213 
于 2013-04-02T08:38:17.090 に答える
2

を使用して各行を読み取り、空白でFileReader分割しStringて 3 番目のインデックスを取得します。

String value =line.split("\\s+")[2];
于 2013-04-02T08:38:20.700 に答える
1

行を読み取り、それらを繰り返し処理し、正規表現を使用して行を分割して値を取得します。それでおしまい。

于 2013-04-02T08:37:38.770 に答える