读取.txt文件中的整数(Java)

时间:2016-03-09 12:10:40

标签: java input syntax output file-handling

所以基本上我试图编写一个程序,其中某人可以输入10个整数,然后将其保存在.txt文件中,然后打开并一起平均。

到目前为止,我做得非常好,我得到了所有的异常处理并用我输入的整数保存文件,但我不确定如何读取文件。我假设一旦完成所有事情,计算平均值并不困难。这是我的代码的一部分,其余部分链接在下面(我真的认为您需要查看完整代码才能更好地识别问题):

public static void closeFile()
{
    if (output != null)
        output.close();
}
public static void readRecords()
{
    try
    {
        while (input.hasNext())
        {
            System.out.printf("%s%n", String.valueOf(numbers[i]));
        }
    }
}

http://pastebin.com/yW6G8N8C

2 个答案:

答案 0 :(得分:0)

您没有正确打开文件,需要使用阅读器:

public static void readRecords(){
    try (BufferedReader br = new BufferedReader(new FileReader("numbers.txt"))) {
        String line;
        int[] number = new int[10];
        i=-1;
        while ((line = br.readLine()) != null) {
            i++;
            number[i] = Integer.parseInt(line);
            System.out.println("number "+i+" = "+number[i]);
        }
    }
    catch(Exception e){
        // Handle the trouble
    }
}

我不完全确定你想要对你得到的数字或numbers.txt文件的确切格式做什么,但我假设你做了一些合理的事情,比如每行写一个整数到你的文件。否则,请相应调整代码以满足您的需求。

答案 1 :(得分:0)

首先,如chalarangelo所述,您无法正确打开文件。您可以使用Formatter类写入文件,但无法使用该文件从文件中读取。因此,您需要使用BufferedReader之类的正确读者,并使用其readLine()方法。

除此之外,您需要将整数与字符串一起存储 “输入的整数:”......如果是这样,那么获得数字会有点困难。我建议只将数字打印到文件中,即执行

output.format("%s%n", String.valueOf(numbers[i]));

而不是

output.format("Inputted integer: %s%n", String.valueOf(numbers[i]));

之后使用阅读器并读取该行并将其转换为整数并将其存储在数组中,如chalarengo的回答中所述。