我最近在接受采访时遇到了一个问题.问题陈述为 – >假设您无法访问Jdk API中的System类,也无法使用ECHO,您在JRE 5环境中,如何在控制台上打印任何内容?问题真正开始于 – 为什么
Java给了我们PrintStream对象System.out ??为什么它是最终的?没有任何其他方法可以在控制台上打印任何东西.
解决方法
如果需要,可以绕过System对象. System.out做了很多额外的事情(例如处理unicode),所以如果你真的只想要原始输出和性能,你实际上甚至可能绕过它.
import java.io.*; public class PrintOutTest { public static void main(String args[]) throws IOException { BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FileDescriptor.out),"ASCII"),512); out.write("test string"); out.write('\n'); out.flush(); } }
这已在here中进一步阐述.