提问人: 提问时间:6/13/2020 更新时间:6/14/2020 访问量:145
仅从文件中读取一行整数
Read only one line of Integers from a file
问:
我正在尝试读取包含整数的文件。该文件有 40 行,每行有 80 个整数。但是,当我运行以下代码时,我得到 40 行,每行有 3200 个整数(它读取每行的整个文件)。我该如何解决这个问题。
while(input.hasNextLine()){
++rows;
Scanner colReader = new Scanner(input.nextLine());
while(colReader.hasNextInt()){
++columns;
colReader.nextInt();
}
colReader.close();
}
答:
-1赞
Alejandro Gonzalez
6/13/2020
#1
因为你是重复的循环,所以如果你想读取一个文件,你可以做下一个
BufferedReader bufferReader = new BufferedReader(new FileReader(new File("")));
int line;
StringBuilder stringBuilder = new StringBuilder();
while ( (line =bufferReader.read()) != 0 ) {
// Do something
}
评论
0赞
Alejandro Gonzalez
6/13/2020
你只需要强制转换对象,例如 Integer.parseInt(line);
0赞
WJS
6/14/2020
这不是强制转换,而是从 String 到 int 的转换。而且没有必要,因为 Scanner 会为您完成。
0赞
Alejandro Gonzalez
6/14/2020
Bufferreader 允许相同的操作,您只需要执行下一个 while ( (line =bufferReader.read()) != 0 ) {
0赞
WJS
6/13/2020
#2
您还可以在一定程度上简化代码。您可以继续逐个读取整数。
Scanner input = new Scanner(new File("f:/numbs.txt"));
while (input.hasNextInt()) {
int v = input.nextInt();
System.out.println(v);
}
评论
0赞
6/14/2020
我也想要行数和列数。
上一个:如何生成整数数字的平方
评论