具体读写大文件的实例,参考
http://blog.sina.com.cn/s/blog_70e5bf6e0101dwsd.html
一、FileInputStream , FileOutputStream类
这两个类都继承于InputStream和OutputStream类,用于本地文件的读写,按二进制格式顺序读写。
不但可以读写本地文件,也可读写声音,图像,影像文件。
为什么还要字符流呢?原因是这些文本可以用不同的方式存储,有ASCII文本和Unicode文本,还有UTF-8编码,字符流对象可以进行必要的转换,从而读出正确的文本。
在文本文件处理时,使用字符流是最常用的方法。
(1) FileInputStream 为读流(内容),
其以字节为单位(非unicode)的流处理。字节序列:二进制数据。与编码无关,不存在乱码问题。
(2)主要方法:
Read(), read(byte[] b), read(byte[],int off ,int len), available();
(3)使用步骤:
1.分别创建读流FileInputStream的对象和写流FileInputStream的对象
2.调用其对应方法read(),write(int b)
3.关闭流 close();
例如:
File inputFile = new File("picture.gif");
File outputFile = new File("face.gif");
//创建流的对象
FileInputStream input = new FileInputStream(inputFile);
FileOutputStream output = new FileOutputStream(outputFile);
//通过available()方法取得流的最大字符数
byte[] buffer = new byte[input.available()];
input.read(buffer);//读入流 保存在byte数组中
output.write(buffer);//写入流 写入到face.gif文件中
input.close();
output.close();
二、BufferInputStream和BufferOutputStream
这里不做详细介绍,具体请参考
http://blog.sina.com.cn/s/blog_67f995260101huxz.html
三、如果要控制输出流的编码问题,要用DataInputStream