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