该程序按预期在我的控制台上输出,但现在只能创建空白输出文件。我不知道怎么了。我认为这是造成麻烦的方法:

    public static PrintStream getOutputPrintStream(Scanner console) {
           PrintStream output = null;
           System.out.print("Output file? ");
           String outputFileName = console.nextLine();
           File f = new File(outputFileName);
           while(f.exists()){
               System.out.print("File already exists. Overwrite it? (y/n) ");
               if(console.nextLine().charAt(0) == 'y') {
                   break;
              }
               else {
                   System.out.print("Output file? ");
                   outputFileName = console.nextLine();
                   f = new File(outputFileName);
              }
           }
           try {
               output = new PrintStream(new File(outputFileName));
               }
               catch (FileNotFoundException e) {
                   System.out.println("Output file cannot be created.");
               }
           return output;
    }

最佳答案

问题不在此代码中。这段代码只是打开文件...,而无需对其进行任何写入。

查看使用output对象的代码。确保它写了一些东西,并确保在完成写操作后对其调用close()

10-04 13:52