文件的读写

来源:互联网 发布:图画软件下载 编辑:程序博客网 时间:2024/05/25 01:35

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">         对于文件的读写有各种形式,如字节流读写,字符流读写,在字符流之上的缓冲流的读写,对于这几种流的读写各有优点,各有不足吧:</span>

      首先介绍一下字节输入输出流(FileInputStream\FIieOutputStream)对文件的操作:将文件aa.txt中的内容读取出来放到bb.txt文件中。

首先以一个字节的方式读取:

File file=new File("aa.txt");FileInputStream fis=new FileInputStream(file);FileOutputStream fos=new FileOutputStream("bb.txt");int total=0;while((total=fis.read())!=-1){fos.write(total);}fis.close();fos.close();

以字节数组的的方式读取:

File file=new File("aa.txt");FileInputStream fis=new FileInputStream(file);FileOutputStream fos=new FileOutputStream("bb.txt");byte []b=new byte[1024];int total=0;while((total=fis.read(b))!=-1){fos.write(b,0,total);}fis.close();fos.close();
以字符输入输出流的方式读写数据:(OutputStreamReader\InputStreamReader):

以一个字符读取:

File file=new File("aa.txt");OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("bb.txt"));InputStreamReader isr=new InputStreamReader(new FileInputStream(file));int total=0;while((total=isr.read())!=-1){osw.write(total);}osw.close();isr.close();
读到字符数组中,然后写入到bb.txt文件中:

File file=new File("aa.txt");OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("bb.txt"));InputStreamReader isr=new InputStreamReader(new FileInputStream(file));int total=0;char[] c=new char[1024];while((total=isr.read(c))!=-1){osw.write(c, 0, total);}osw.close();isr.close();
从缓冲流中读取数据:(BufferedReader\BufferedWriter):

File file=new File("aa.txt");BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(file)));BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("bb.txt")));String str=null;while((str=br.readLine())!=null){bw.write(str);bw.flush();}bw.close();br.close();






0 0