i/o
InputStream/OutputStream是字节操作流的基类, Reader/Writer提供字符流操作的基类。
理解FilterInputStream/FilterOutputStream: DataInputStream 只能读入数字类型,不提供文件获取数据,而FileInputStream正好相反,组合两者,就可以得到想要的效果。类FilterInputStream/FilterOutputStream 包含其他的流作为数据的来源/接收器,在他们之上做一些转换等工作。
把数字输出到文件: DataOutputStream dout = new DataOutputStream(new FileOutputStream("data.dat"))
缓冲输入: DataInputStream din = new DataInputStream(new BufferedInputStream(new FileInputStream("test.dat")))
可回退输入: DataInputStream din = new DataInputStream(pbin = new PushbackInputStream(new BufferedInputStream(new FileInputStream("test.dat"))))
zip: DataInputStream in = new DataInputStream(new ZipInputStream(new FileInputStream("data.zip")))
charset
Charset cset = Charset.forName("ISO-8859-1");
String str = "...";
ByteBuffer buffer = cset.encode(str);
byte[] bytes = buffer.array();
------------
byte[] bytes = ...;
ByteBuffer bbuf = ByteBuffer.wrap(bytes, offset, length);
CharBuffer cbuf = cset.decode(bbuf);
String str = cbuf.toString();
serize
ObjectInputStream/ObjectOutputStream