假设我有一系列数字,比如......
1 2 3 4
5 6 7 8
9 0
我如何逐步完成每个int,但是当我到达新行时停止?我目前正在使用nextInt()
,我知道nextLine()
会检测到新行,但我不确定如何将它拼凑在一起。是否最好采用整行,并将字符串解析为单独的整数?或者有更流畅的方法吗?
对于我的示例,我希望程序将1 2 3 4
,5 6 7 8
,9 0
存储在各自独立的数组中。
有关更多说明,我正在使用java.util.Scanner
而我正在阅读文本文件。
答案 0 :(得分:1)
如果要使用Scanner
,请将整行读入字符串,然后在字符串上构建扫描程序。
答案 1 :(得分:0)
您可以在阅读模式下打开文本文件,并使用readLine()
方法读取整行。
然后你可以用空格('')分割读取的行,这将自动给你一个数组。
你可以这样做直到文件结束。
import java.io.*;
class FileRead
{
public static void main(String args[])
{
try{
// Open the file
FileInputStream fstream = new FileInputStream("textfile.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
delimiter = " ";
int myArr[];
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
myArr = strLine.split(delimiter);
// store this array into some global array or process it in the way you want.
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}
希望这有帮助。