JAVA 输入输出

来源:互联网 发布:mysql except用法 编辑:程序博客网 时间:2024/04/20 09:36

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