关于打印流和输出流的一点疑问
看下面两个程序
import java.io.*;
public class FileOutputStream1{
public static void main(String args[])throws Exception{
FileWriter fw = new FileWriter(new File("log.log"));
int line = 0;
for(char c=1;c<65535;c++){
fw.write(c+"");
}
if(line++ > 100){
System.out.println();
line = 0;
}
}
}
2)
import java.io.*;
public class PrintStream1{
public static void main(String args[])throws Exception{
FileOutputStream fos = new FileOutputStream(new File("log.log"));
PrintStream ps = new PrintStream(fos);
if(ps != null){
System.setOut(ps);
}
int line = 0;
for(char c=1;c<65535;c++){
System.out.print(c+"");
}
if(line++ >100){
System.out.println();
line = 0;
}
}
}
这两个程序都可以往log.log文件中写进去65534个字符,区别就是一个是通过打印流打印进去,一个通过输出流写进去。但是效果是一样的。
请问一下在实际应用中,这个“打印”和这个“写”到底有什么区别呢?就是说如果往一个文件里面写东西,是通过打印流来做,还是通过输出流来做呢,因为打印流里面是autoFlush的,所以有的时候比较方便,不用象输出流那样还要套一个bufferedoutputstream啊,呵呵,这点疑问,谢谢大家来解释。