java IO流-缓冲流

来源:互联网 发布:sybase数据库用户权限 编辑:程序博客网 时间:2024/05/28 04:53

字符缓冲流读写文件

使用BufferedReader和BufferedWriter来读写文件

 使用缓冲流的好处是,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或者读取出来。 经常使用的是readLine()方法,表示一次读取一行数据。

实例:

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;public class BufferedDemo {    //字符缓冲流-读写文件    public static void main(String[] args) throws Exception {    //输出流         File file = new File("a.txt");// 指定要写入的文件          if (!file.exists()) {// 如果文件不存在则创建              file.createNewFile();          }          BufferedWriter out=new BufferedWriter(new FileWriter(file));        out.write("所爱隔山海");        out.newLine();//字符缓冲流独居的方法-换行        out.write("山海不可平");        out.close();        //输入流        BufferedReader in=new BufferReader(new FileReader("a.txt"));        String line=null;//表示读取的行        //使用字符缓冲流中独有的readLine()方法,可以一行一行的读        while((line=in.readLine())!=null){            System.out.println(line);        }        in.close();    }}

字节缓冲流读写文件

使用BufferedInputStream和BufferedOuputStream读写图片

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:\\test.jpg"));          File file = new File("E:\\test.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();      }  }