首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java IO (3)缓冲流和转换流

2012-08-26 
java IO (三)缓冲流和转换流1. 缓冲流java IO通过缓冲流来提高读写效率,普通的字节、字符流都是一个字节一

java IO (三)缓冲流和转换流

1. 缓冲流

java IO通过缓冲流来提高读写效率,普通的字节、字符流都是一个字节一个字符这样读取的,而缓冲流则是将数据先缓冲起来,然后一起写入或者读取出来。经常使用的是readLine()方法,表示一次读取一行数据。

package com.io;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;public class TestBufferedString {    public static void main(String[] args) throws Exception {        // 指定要读取文件的缓冲输入字节流        BufferedInputStream in = new BufferedInputStream(new FileInputStream("F:\\photo\\IMG0460A.jpg"));        File file = new File("F:\\IMG0460A.jpg");        if (file != null) {            file.createNewFile();        }        // 指定要写入文件的缓冲输出字节流        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));        byte[] bb = new byte[1024];// 用来存储每次读取到的字节数组        int n;// 每次读取到的字节数组的长度        while ((n = in.read(bb)) != -1) {            out.write(bb, 0, n);// 写入到输出流        }        out.close();// 关闭流        in.close();    }}
?

2. 转换流

java提供将字节流转化为字符流读写方式的OutputStreamWriter和InputStreamReader

package com.io;import java.io.*;public class OutputStreamWriterDemo01  {      public static void main(String args[]) throws Exception{    //所有异常抛出       //写入数据        File file=new File("d:"+File.separator+"test.txt");          Writer writer=null;     //字符输出流           writer=new OutputStreamWriter(new FileOutputStream(file));  //字节流变为字符流           String str="hello world!!!!";             writer.write(str);  //使用字符流输出           writer.close();                //读取文件                File f = new File("d:" + File.separator + "test.txt") ;           Reader reader = null ;          reader = new InputStreamReader(new FileInputStream(f)) ;    // 将字节流变为字符流           char c[] = new char[1024] ;          int len = reader.read(c) ;  // 读取           reader.close() ;    // 关闭           System.out.println(new String(c,0,len)) ;      }  }  
?

热点排行