如果我想做输出,Scanner/System.in 的模拟是什么?
What is the analogue for Scanner/System.in if I want to do the output?
如果我使用扫描仪类型读取 System.out,我可以轻松地从 System.in 切换到某个文件,因此我可以测试使用输入的方法。
String line;
Scanner in = new Scanner(System.in); // reading from the command line
// or
File file = new File(someFileName);
in = new Scanner(file); // reading from the file
System.out.print("Type something: ");
line = in.nextLine();
System.out.println("You said: " + line);
但是,如果我希望我的方法交替写入文件或写入文件,我可以使用什么类型来输出相同的开关?System.out?
System.out
是一个 PrintStream
。您始终可以创建自己的写入文件的 PrintStream。
PrintStream out = System.out;
out.print("Write to console");
out = new PrintStream(new File("path"));
out.print("Write to file");
请小心。System.out
不应关闭,而应关闭从文件创建的 PrintStream
。
如果我使用扫描仪类型读取 System.out,我可以轻松地从 System.in 切换到某个文件,因此我可以测试使用输入的方法。
String line;
Scanner in = new Scanner(System.in); // reading from the command line
// or
File file = new File(someFileName);
in = new Scanner(file); // reading from the file
System.out.print("Type something: ");
line = in.nextLine();
System.out.println("You said: " + line);
但是,如果我希望我的方法交替写入文件或写入文件,我可以使用什么类型来输出相同的开关?System.out?
System.out
是一个 PrintStream
。您始终可以创建自己的写入文件的 PrintStream。
PrintStream out = System.out;
out.print("Write to console");
out = new PrintStream(new File("path"));
out.print("Write to file");
请小心。System.out
不应关闭,而应关闭从文件创建的 PrintStream
。