面向字节
OutputStream
输出一个比特,这个接口用户输出二进制数据,常常用在,文件,网络操作
FileOutputStream
打开文件,输出一个byte,输出byte数组
核心方法:private native void open0(String name, boolean append);
核心方法:private native void close0() throws IOException;
核心方法:private native void write(int b, boolean append) throws IOException;性能低
核心方法:private native void writeBytes(byte b[], int off, int len, boolean append);性能高
面向字符
Writer
说明:定义了一个写char[]的行为,至于写到哪里去由不同类实现。写到文件就使用FileWriter,写到控制台就用PrintWriter等等。以FileWriter来说,他接收一个FileOutputStream类型的参数,依靠它才真正将数据写入文件。
PS:其实大部分操作底层还是转成字节,面向字符的接口大部分情况下只是对编程友好一些而已
OutputStreamWriter
核心成员:OutputStream out;
PS: FileWriter = new OutputStreamWriter(new FileOutputStream(fileName));
核心成员:StreamEncoder se;
对二进制,按不同字符集编码。构造函数 StreamEncoder(OutputStream out, Charset cs);
BufferedWriter
说明:包装Writer.write方法。尽可能减少系统调用次数,将多次写入合并成一次,提高性能
核心成员:char cb[]
核心成员:Writer out