Printwriter的问题?

时间:2014-03-06 20:19:54

标签: java input copy output printwriter

我试图编写一个文件,将一个用户输入的文件中的数据复制到另外两个单独的用户输入文件中,但是这些文件没有正确,没有任何内容被复制。我知道第一行正在读取,因为我编辑了代码来检查和显示第一个文件中的任何内容是否正在读取(它是),但同样,没有任何内容正在复制。我从一本书中学习,并希望得到任何帮助。非常感谢!

这是代码。

import java.util.Scanner;
import java.io.*;
import java.io.FileWriter;

public class FileIO
{
        // This method writes data from a file to other files
        public static void main(String[] args) throws IOException
        {
            Scanner keyboard = new Scanner(System.in);
            System.out.println("Enter input file name:");
            String filename = keyboard.nextLine();
            System.out.println();

            System.out.println("Enter output file name:");
            String filename2 = keyboard.nextLine();
            System.out.println();

            System.out.println("Enter another output file name (append) :");
            String filename3 = keyboard.nextLine();
            System.out.println();

            PrintWriter outputFile = new PrintWriter(filename2);
            FileWriter outputFile2 = new FileWriter(filename3, true);
            PrintWriter outputfile2 = new PrintWriter(outputFile2);

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

            while (inputFile.hasNext()){
                    String morelines = inputFile.nextLine();
                    outputFile.print(morelines);
                    outputfile2.print(morelines);
            }
            outputFile.close();
            outputfile2.close();
            inputFile.close();
    }
}

1 个答案:

答案 0 :(得分:0)

我能够让你提供的代码工作得很好。 Jason C建议在关闭之前在PrintWriters上调用flush(),我同意。