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

“标题”行是一个问题,将它们连贯地合并将是一个挑战。我建议您简单地忽略该问题并硬编码(或在配置文件中)问题:

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 回答
0

你应该先知道你的文件,然后你会找到读取它的方法。

可能是在您的文件中使用了分隔数据结构的分隔符。

但更有可能的是,您的文件是按位置构造的。

这可能意味着 user is可以在位置 0 和 10starting xp之间找到,可以在 11 和 20 之间找到等等。

于 2013-11-06T00:03:08.117 回答
-1

您是否考虑过将文本文件构建为 json?

于 2013-11-05T23:55:02.833 回答