Java:将输出打印到文本文件

Java:将输出打印到文本文件,java,Java,我是一名编码初学者。我在大学里学习编程和算法入门课程。我的教授和我都不知道如何修复这个代码。我正在尝试从另一个文件输出到一个文件。新文件已创建,但仍为空。任何帮助或意见都将不胜感激!谢谢 import java.util.Scanner; import java.io.PrintWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public cl

我是一名编码初学者。我在大学里学习编程和算法入门课程。我的教授和我都不知道如何修复这个代码。我正在尝试从另一个文件输出到一个文件。新文件已创建,但仍为空。任何帮助或意见都将不胜感激!谢谢

import java.util.Scanner;
import java.io.PrintWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Part3 {
public static void main(String[] args) throws IOException
{
    int i = 0;

    FileInputStream fileIn = null;
    Scanner file = null;
    double input = 0;

    FileOutputStream fileOut = null;
    PrintWriter file2 = null;

    System.out.println("Opening file LabInput.txt.");
    fileIn = new FileInputStream("LabInput.txt");
    file = new Scanner(fileIn);

    fileOut = new FileOutputStream("LabOutput.txt");
    file2 = new PrintWriter(fileOut);

    while (file.hasNext())
    {
        input = file.nextDouble();
        file2.println("test");

            if(i % 3== 0)
            {
                 file2.println("");
                 i++;
            }
        file2.printf("%10.3f", input);
   }

    file2.println("");
    file2.println("Closing file LabInput.txt.");
    fileIn.close();
    fileOut.close();

}}

添加
file2.close()在程式结束时
OutputStreams
通常写入缓冲区,而不是实际的目标(这里是文件)。此缓冲区已满时将刷新。要确保所有内容都写入文件,必须调用
close()

尝试
file2.close()
而不是
fileOut.close()
。当您关闭
PrintWriter
时,数据将刷新到文件中。。。您可以声明扫描仪,就像
file=new scanner(“LabOutput.txt”)
和同样的方法也适用于
PrintWriter
justdo
file2=newprintwriter(新文件(“LabOutput.txt”)@3kings
新扫描仪(“LabOutput.txt”)
将创建一个扫描器,该扫描器只扫描字符串
“LabOutput.txt”
而不是该位置的文件。您可能是指
新扫描仪(新文件(“LabOutput.txt”)
。甚至是
LabInput.txt
而不是
LabOutput.txt
,因为扫描仪应该用于读取,而不是写入。