本帖最后由 nanfp 于 2015-7-6 00:02 编辑
1.字符流拷贝纯文本文件。- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- //readLine()只返回换行符之前的值,不返回换行符
- public class MyBuffer{
- public static void main(String[] args) {
- BufferedReader bufr=null;
- BufferedWriter bufw=null;
- try {
- //定义输入输出字符流
- bufr=new BufferedReader(new FileReader("1.txt"));
- bufw=new BufferedWriter(new FileWriter("2.txt"));
- String line=null;
- while((line=bufr.readLine())!=null){
- //写入文件
- bufw.write(line);
- //缓冲区流要刷新
- bufw.flush();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }finally{
- //关闭输入输出流
- if(bufr!=null){
- try {
- //关闭缓冲区流,其实就是关闭其中的流对象,所以流对象就不用再关闭了
- bufr.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- if(bufw!=null){
- try {
- bufw.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
复制代码
2.字节流可以处理所有类型的数据,如jpg、avi、mp3、wav,字节流拷贝图片。
- mport java.io.FileInputStream;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- public class MyStream {
- public static void main(String[] args) {
- FileOutputStream fos=null;
- FileInputStream fis=null;
- try {
- //定义输入输出字节流
- fos=new FileOutputStream("D:\\2.jpg");
- fis=new FileInputStream("D:\\1.jpg");
- byte[] b=new byte[1024];
- int len=0;
- //读取字节
- while((len=fis.read())!=-1){
- //写入文件
- fos.write(b,0,len);
- }
- } catch (IOException e) {
- e.printStackTrace();
- }finally{
- //关闭输入输出流
- if(fis!=null){
- try {
- fis.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- if(fos!=null){
- try {
- fos.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
-
复制代码
|
|