我的问题很简单,我想在文本文件中读取并将文件中的第一行存储为整数,并将文件的每隔一行存储为多维数组。我想这样做的方法是创建一个if语句和另一个整数,当该整数为0时,将该行存储到整数变量中。虽然这看起来很愚蠢,但必须采用更简单的方式。
例如,如果文本文件的内容是:
4
1 2 3 4
4 3 2 1
2 4 1 3
3 1 4 2
第一行“4”将存储在整数中,而每隔一行都会进入多维数组。
public void processFile(String fileName){
int temp = 0;
int firstLine;
int[][] array;
try{
BufferedReader input = new BufferedReader(new FileReader(fileName));
String inputLine = null;
while((inputLine = input.readLine()) != null){
if(temp == 0){
firstLine = Integer.parseInt(inputLine);
}else{
// Rest goes into array;
}
temp++;
}
}catch (IOException e){
System.out.print("Error: " + e);
}
}
答案 0 :(得分:2)
我故意不回答这个问题。尝试使用:
String.split
array[temp-1] = new int[firstLine];
for
循环,其他Integer.parseInt
行这应该足以让你完成其余的工作
答案 1 :(得分:0)
相反,您可以将文件的第一行存储为整数,然后输入for循环,循环遍历文件的其余行,将它们存储在数组中。这不需要if
,因为您知道第一种情况首先发生,而其他情况(数组)发生在之后。
答案 2 :(得分:0)
我将假设你知道如何使用文件IO。 我不是很有经验,但这就是我想的方式:
while (inputFile.hasNext())
{
//Read the number
String number = inputFile.nextLine();
if(!number.equals(" ")){
//Do what you need to do with the character here (Ex: Store into an array)
}else{
//Continue on reading the document
}
}
祝你好运。