java - 在 java 中重新打开文件的正确方法是什么?

标签 java file-io printwriter

我已经研究这个问题好几天了,但无法解决。问题要求我打开一个文件并计算平均值,然后关闭它。然后重新打开它并计算标准差。我遇到的麻烦是在计算平均值并关闭文件之后。当我尝试重新打开时,它显示找不到文件的错误。这是我目前所拥有的:

File fr = new File(filename);
Scanner inputFile = new Scanner(fr);

filename = inputFile.nextLine();

while(inputFile.hasNext())
{
    double number = inputFile.nextDouble();
    sum =  number + sum;

    count++;

    line = inputFile.nextDouble();
}
inputFile.close();
mean = sum / count;

//New File

File file = new File(filename);
Scanner br = new Scanner(file);

double sumB = 0;
int countB = 0;

filename = br.nextLine();
while(br.hasNext())
{
    double sumthin = br.nextDouble();
    difference =  sumthin - mean;
    sumB = sumB + Math.sqrt(difference);
    count++;
    line = br.nextDouble();
}
br.close();
Math.sqrt(sumB / count);

最佳答案

您(可能)没有打开同一个文件两次 - 您是从第一个文件读取文件名,然后打开第二个文件:

File fr = new File(filename);
...
filename = inputFile.nextLine();
...
File file = new File(filename);

关于java - 在 java 中重新打开文件的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325004/

相关文章:

java - 使用 PrintWriter 写入文件结果不正确

java - BufferedReader 然后写入 txt 文件?

java - 类似 Django 的 Java 框架

java - HIbernate 一对一映射类对象

file-io - TensorFlow 操作 'tf.train.match_filenames_once ' 不起作用

visual-studio - MS Visual Studio如何确定源文件已更改?

java - 如何在 Spring MVC 中根据用户输入创建新的 url

java - 项目抛出多个编译错误异常

c# - 为什么 FileShare 不能按预期工作?

java - 如何使用 PrintWriter 打印多行输入以保存在文本文件中?代码里面