複数のデータ型を含む配列リストにテキスト ファイルを読み込む際に問題が発生しています。
ファイル形式は次のようになります。
Name1 900 20
Name2 750 30
Name3 880 25
Name4 260 15
私のリスト形式はname + score + age
で、データを txt からリストに適切に保存する方法がわかりません。また、データを追加した後にファイルを書き換えたいと考えています。
name + score + ageをカプセル化するクラスを作成し、そのクラスのを作成することができますArrayList
。
リストが文字列を受け入れる場合:
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);