0

我在将文本文件读取到具有多种数据类型的数组列表中时遇到问题。

文件格式如下:

Name1 900 20

Name2 750 30

Name3 880 25

Name4 260 15

我的列表格式是name + score + age ,我不知道如何将数据从 txt 正确存储到列表中。另外我想在添加一些数据后重写文件。

4

2 回答 2

2

您可以创建一个封装名称+分数+年龄的类,并创建ArrayList该类的一个。

于 2012-11-30T09:33:29.460 回答
2

如果您的列表接受字符串:

BufferedReader reader = new BufferedReader(new FileReader("yourfile.txt"));
List<String> list = new ArrayList<>();
String line=null;
while((line= reader.readLine())!=null) {
list.add(line);
}

但是,如果您有一个具有 name、socre 和 age 作为属性的类,并创建该类的列表并用空格分割您的文本文件,那就更好了。

class SomeClass {
private String name; 
private long score;
private int age;
//getters and setters for your properties

}

现在您的列表将是:

   List<SomeClass> list = new ArrayList<>();

并从文件中读取该行后,根据空格对其进行拆分。

 String[] arr =line.split("\\s+");
 SomeClass obj = new SomeClass();
 obj.setName(arr[0]);
 obj.setScore(Long.parseLong(arr[1]));
 obj.setAge(Integer.parseInt((arr[2]));
 list.add(obj);
于 2012-11-30T09:35:10.330 回答