转自:
在Java的IO流中,我们既可以从流中读取数据,也可以向流中写入数据, 流不能通过索引读取数据,流只是一个连续的数据流,流中的数据只能顺序访问
java中IO流是基于字节或基于字符
字节流常使用“stream”命名,如:InputStream和OutputStream
除DataInputStream 和DataOutputStream 还能够读写int, long, float和double类型的值以外
其他流读取和写入时都是以字节为单位进行操作
字符流常以“Reader”或“Writer”命名
字符流能够读写字符(如Latin1或Unicode字符)
java.io.InputStream类是所有Java IO输入流的基类
其他的Stream类都是InputStream的子类,如:FileInputStream,PushbackInputStream
例:
InputStream input = new FileInputStream("E:\\test\\testInformation.txt"); int data = input.read(); while(data != -1){ data = input.read(); }
java.io.OutputStream是Java IO中所有输出流的基类
其他的输出流都是基于此类的子类
例:
OutputStream output = new FileOutputStream("E:\\test\\testInformation.txt"); output.write("java265.com我将写入文件中".getBytes()); output.close();
组合流可一次性操作大块数据,避免每次操作一个字节的慢速效果,下文将示例展示大数据的操作,如下所示:
InputStream input = new BufferedInputStream(new FileInputStream("E:\\test\\testInformation.txt")); 大块数据写出,我们可采用BufferedOutputStream