首先,我们有PrintWriter
java.io.File f=new java.io.File("s.txt");
java.io.PrintWriter out=new java.io.PrintWriter(f);
out.print(5);
out.print(7);
out.close();
Run Code Online (Sandbox Code Playgroud)
然后我们有输出流
java.io.File f=new java.io.File("s.txt");
java.io.FileOutputStream out=new java.io.FileOutputStream(f);
out.write(5);
out.write(7);
out.close();
Run Code Online (Sandbox Code Playgroud)
有什么不同?
Jon*_*eet 29
OutputStreams用于二进制数据.作家(包括PrintWriter)用于文本数据.
当您调用PrintWriter.write(int)单个字符时,您可能看不出具体情况的区别- 如果您使用的字符编码只是将字符映射到同一个字节,对于小于127的字符,则您会看到相同的字符结果.但如果你给它一个不同的编码,那么你会看到一个区别.
PrintWriter也有所不同,因为它抑制了IO异常 - 就像PrintStream二进制流当量的那样PrintWriter.