使用BufferedReader从文本文件中读取只读int-Java

时间:2018-12-08 16:52:07

标签: java text-files bufferedreader

所以,如果我有这样的txt文件:

scissors 3
papers 5
staplers 2

如何仅使用bufferedreader而不是使用scan读取整数。

try {
        BufferedReader reader = new BufferedReader(new FileReader("Supplies.txt"));

        String line = "";
        while((line=reader.readLine())!=null){
            System.out.println(line);
        }

    } catch (IOException ex) {
        JOptionPane.showMessageDialog(null, ex);            
    }

1 个答案:

答案 0 :(得分:0)

如何仅使用bufferedreader而不是使用scan读取整数。

假设我理解您的问题,则可以使用当前代码,并添加一个正则表达式以在解析int值之前删除所有不是数字的内容。喜欢,

while ((line = reader.readLine()) != null) {
    int i = Integer.parseInt(line.replaceAll("\\D+", ""));
    System.out.println(i);
}

完成操作后,您 应该 close() reader,否则会泄漏文件句柄。我相信最好的解决方案是try-with-resources。喜欢,

try (BufferedReader reader = new BufferedReader(new FileReader("Supplies.txt"))) {
    // BufferedReader reader = new BufferedReader(new FileReader("Supplies.txt"));