我想知道BufferedReader是否可以同时使用字符串和整数,我的代码有什么问题?
import java.io.*;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5};
try {
var writer = new BufferedWriter(new FileWriter("test.txt"));
writer.write("hello");
writer.write("\n welcome");
for (int num : nums) {
writer.write(num + "\n");
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new FileReader("test.txt"));
String line = reader.readLine();
int num = Integer.parseInt(reader.readLine());
while (line != null) {
System.out.println(line);
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我想只使用BufferedReader读取在上述方法中写入的int和string
2条答案
按热度按时间mgdq6dx11#
如果给定的字符串是一个数字,您可以尝试在前面进行检查,例如:
然后,如果
isNumeric(line)
为真,则将其赋值为整数。bvjxkvbb2#
首先,您缺少几个分号(;),分别位于要创建nums数组的行和要写入字符串“\n welcome”的行。
其次,当写入文件时,前两行是字符串值,因此当您尝试在第二行使用
parseInt
时,它会抛出NumberFormatException
。