java - 我需要一个文件阅读器来逐行读取文本文件并用 Java 格式化它们

标签 java arraylist split

我有一个文本文件,格式如下:

Han Solo:1000
Harry:100
Ron:10
Yoda:0

我需要创建一个对象数组列表,将玩家的名字 (Han Solo) 和他们的分数 (1000) 作为属性存储。我希望能够通过逐行读取文件并拆分字符串以获得所需的属性来制作此 arrayList。 我尝试使用 Scanner 对象,但效果不佳。在此方面的任何帮助将不胜感激,谢谢。

最佳答案

你可以有一个像这样的 Player 类:-

class Player { // Class which holds the player data
    private String name;
    private int score;

    public Player(String name, int score) {
        this.name = name;
        this.score = score;
    }

    // Getters & Setters
    // Overrride toString()  - I did this. Its optional though.
}

您可以解析包含如下数据的文件:-

List<Player> players = new ArrayList<Player>();
try {
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt"))); // I used BufferedReader instead of a Scanner
    String line = null;
    while ((line = br.readLine()) != null) {
        String[] values = line.split(":"); // Split on ":"
        players.add(new Player(values[0], Integer.parseInt(values[1]))); // Create a new Player object with the values extract and add it to the list
    }
} catch (IOException ioe) {
    // Exception Handling
}
System.out.println(players); // Just printing the list. toString() method of Player class is called.

关于java - 我需要一个文件阅读器来逐行读取文本文件并用 Java 格式化它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18870402/

相关文章:

java - 反序列化对象的Arraylist

java - 通过分割字符串从另一个字符串数组列表创建一个字符串数组列表

JAVA如何按空格分割并存储到双数组中

java - 如何将字符串拆分为仅正整数和负整数?

regex - String.split 不起作用

java - 获取 Java 的列表迭代器以返回 Object 以外的内容

java - 单击 recyclerView 中的下一个按钮后加载下一个项目

java - Hibernate 数据源连接未关闭

java - 如何查找自定义数组列表中不存在于另一个数组列表中的元素

Java 8 和垃圾收集