如何在java中使用PrintStream进行输入和输出文件?
试图让用户输入一个要读取的输入文件,然后用一个输出文件对输入文件进行“编码”。然而,我在输出文件方面遇到了问题,可能输入文件也遇到了问题,因为文件处理是我开始迷恋Java的地方 这应该是用于获取输入文件的方法如何在java中使用PrintStream进行输入和输出文件?,java,file,input,output,printstream,Java,File,Input,Output,Printstream,试图让用户输入一个要读取的输入文件,然后用一个输出文件对输入文件进行“编码”。然而,我在输出文件方面遇到了问题,可能输入文件也遇到了问题,因为文件处理是我开始迷恋Java的地方 这应该是用于获取输入文件的方法 public static Scanner getInputScanner(Scanner console){ Scanner input = null; while (input == null) { System.out.print("Enter input file: ");
public static Scanner getInputScanner(Scanner console){
Scanner input = null;
while (input == null) {
System.out.print("Enter input file: ");
String filename = console.next();
try {
input = new Scanner(new File(filename));
}
catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}
}
return input;
}
这应该是用于获取输出文件的方法。关于PrintStream的使用,我有没有做错什么
//Returns PrintStream for output file
//Use a try/catch block to handle a FileNotFoundException
public static PrintStream getOutputPrintStream(Scanner console){
Scanner output = null;
while (output == null) {
System.out.print("Enter output file: ");
String filename = console.next();
try {
File file = new File(filename);
PrintStream fileout = new PrintStream(file);
if (file.exists()){
System.out.print("OK to overwrite file? (y/n): ");
String answer = console.next();
if (answer.equals("y")){
}
else if (answer.equals("n")){
System.exit(1);
}
}
}
catch (FileNotFoundException e) {
System.out.println(e.getMessage());
}
}
return fileout;
}
您还在使用Java 6吗?不,Java 7是我的版本。您的代码不会编译--
文件输出
未在之外定义,而getOutputPrintStream
中的
循环。另外,使用新的文件API。