尝试用java写读写文件会导致输出文件为空

尝试用java写读写文件会导致输出文件为空,java,Java,我有一个文件“a.txt”,它由60行组成。每行包含一个从1到60的数字。我还有一个文件夹DD,其中包含两个文件,分别标记为“DD1.txt”和“DD2.txt” 文件DD1有3行。DD1的每一行都有1.1、1.2和1.3。类似地,文件DD2也有3行。DD2的每一行都有2.1、2.2、2.3 我要做的是首先读取A.txt的第一行,它使用DD1的所有行计算并写入计算值,使用DD2的所有行计算并写入输出值。因此,我有60 X 2=120个文件要创建。每个文件应该有2行。但我得到的只有2个文件,其中目

我有一个文件“a.txt”,它由60行组成。每行包含一个从1到60的数字。我还有一个文件夹DD,其中包含两个文件,分别标记为“DD1.txt”和“DD2.txt” 文件DD1有3行。DD1的每一行都有1.1、1.2和1.3。类似地,文件DD2也有3行。DD2的每一行都有2.1、2.2、2.3

我要做的是首先读取A.txt的第一行,它使用DD1的所有行计算并写入计算值,使用DD2的所有行计算并写入输出值。因此,我有60 X 2=120个文件要创建。每个文件应该有2行。但我得到的只有2个文件,其中目前是空白的

这就是我迄今为止所尝试的

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class Sample {
    private static final String FILEA = "E:\\SP\\A.txt";
    private static String FILEH = "E:\\SP\\DD\\DD";

    private static String FILER = "E:\\SP\\Result\\Result";
    private static final String FILEEXE = ".txt";
    private static BufferedReader br = null, br1 = null, br2 = null;

    private static BufferedWriter bw = null;
    private static FileWriter fw = null;
    public static void main(String[] args) throws NumberFormatException,IOException, InterruptedException
    {
        final double C1 = -3.75, C2 = 1.14;
        double T = 0, R = 0, E = 0, Efficiency = 1;

        System.out.println("Enter the value of Efficiency:");
        br = new BufferedReader(new InputStreamReader(System.in));
        Efficiency = Double.parseDouble(br.readLine());

        try {
            String sCurrentLine, sCurrentLine1, sCurrentLine2;
            int i = 0;
            br1 = new BufferedReader(new FileReader(FILEA));

            while ((sCurrentLine = br1.readLine()) != null)
            {
                i++;
                String FILEH1 = FILEH + i + FILEEXE;
                String FILER1 = FILER + i + FILEEXE;
                br2 = new BufferedReader(new FileReader(FILEH1));
                bw = new BufferedWriter(new FileWriter(FILER1));
                int count = 0;
                while ((sCurrentLine1 = br2.readLine()) != null)
                {

                    T = Double.parseDouble(sCurrentLine1);
                    R = Double.parseDouble(sCurrentLine);

                    E = R * 24 * (T * 0.024);
                    bw.write(Double.toString(E));
                    bw.newLine();
                }
            }
        } catch (Exception e2) {
            // TODO: handle exception
        }//end trycatch
    }
}

在while循环中进行计算后,请尝试bw.write(“\r\n”);然后在while循环之后,尝试将write作为bw.close()关闭;希望这对你有用

   bw.write(Double.toString(E));
   bw.write("\r\n");
}
bw.close();

在内部
完成后尝试关闭
bw
对象,同时
也不要沉默吞咽异常,可能会有一个很大的提示there@ScaryWombat是的,我试过关闭bw,但当我关闭bw时,它创建了一个文件并停止了。异常是怎么说的?@ScaryWombat哦,不。它要求的是DD3.txt,我只有DD1和DD2。(系统找不到指定的文件)在java.io.FileInputStream.open(本机方法)在java.io.FileInputStream。(未知源)在java.io.FileInputStream。(未知源)在java.io.FileReader。(未知源)在Sample.main(Sample.java:39)感谢您的解决方案。但我已经通过对循环做一些更改解决了这个问题,并且在每次写入后对bw.close()做了一些修改。