存储来自文本文件的输入

时间:2012-12-03 01:46:14

标签: java

我的问题很简单,我想在文本文件中读取并将文件中的第一行存储为整数,并将文件的每隔一行存储为多维数组。我想这样做的方法是创建一个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);
    }
}

3 个答案:

答案 0 :(得分:2)

我故意不回答这个问题。尝试使用:

  1. String.split
  2. 类似array[temp-1] = new int[firstLine];
  3. 的行
  4. 内部for循环,其他Integer.parseInt
  5. 这应该足以让你完成其余的工作

答案 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
     } 
  }

祝你好运。