所以,如果我有这样的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);
}
答案 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"));