1

これは、プログラムに読み込みたいテキストファイルのスクリーンショットです。

特定のユーザーの属性を表示する GUI を作成したいと考えています。したがって、このテキストファイルから情報を抽出する必要がありますが、正確にはわかりません。完璧な結果は、各ヘッダーを文字列名として持ち、その列の残りの要素をその文字列に格納することです。どんな助けでも大歓迎です。

FileReader fr = new FileReader("charList.txt");
BufferedReader bf = new BufferedReader(fr);
String line = "";
while (bf.readLine()!= null){
    line += bf.readLine();
}
String [] temp = new String [];
temp = line.split("\\s");

ここに画像の説明を入力

4

3 に答える 3

0

最初にファイルを知っておく必要があります。それから、それを読み取る方法を見つけます。

ファイルで、データ構造を区切る区切り文字が使用されている可能性があります。

しかし、おそらく、ファイルは位置によって構造化されています。

これは、 user isが位置 0 から 10starting xpの間、11 から 20 の間などで見つかることを意味します。

于 2013-11-06T00:03:08.117 に答える
0

「ヘッダー」行は問題であり、それらを首尾一貫してマージすることは困難です。それを無視して、問題をハードコード (または構成ファイル) することをお勧めします。

private class CharListField {
    private String fieldname;
    private int offset;
    private int len;
}


CharListField[] fields = {new CharListField("user id", 0, 8),
                          .....,
                          new CharListField("end xp", 40, 6)};

BufferedReader bf = new BufferedReader(fr);
String line = "";
boolean gotheaders = false;
while ((line = bf.readLine()) != null){
    if (!gotheaders) {
         // skip lines till you get an empty one.
         if (line.trim().length() == 0) {
             gotheaders = true;
         }
         continue;
    }
    for (CharListField field : fields) {
         String value = line.substring(field.offset, field.offset + field.len).trim();
         // do something with the value for the field....
    }
}
于 2013-11-06T00:02:27.757 に答える
-1

テキスト ファイルを json として構造化することを検討しましたか?

于 2013-11-05T23:55:02.833 に答える