zoukankan      html  css  js  c++  java
  • 缓冲流和转换流(转)

    1. 缓冲流

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

    Java代码:

     1     package com.io;  
     2       
     3       
     4     import java.io.BufferedInputStream;  
     5     import java.io.BufferedOutputStream;  
     6     import java.io.File;  
     7     import java.io.FileInputStream;  
     8     import java.io.FileOutputStream;  
     9       
    10     public class TestBufferedString {  
    11       
    12         public static void main(String[] args) throws Exception {  
    13             // 指定要读取文件的缓冲输入字节流  
    14             BufferedInputStream in = new BufferedInputStream(new FileInputStream("F:\photo\IMG0460A.jpg"));  
    15             File file = new File("F:\IMG0460A.jpg");  
    16             if (file != null) {  
    17                 file.createNewFile();  
    18             }  
    19             // 指定要写入文件的缓冲输出字节流  
    20             BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));  
    21             byte[] bb = new byte[1024];// 用来存储每次读取到的字节数组  
    22             int n;// 每次读取到的字节数组的长度  
    23             while ((n = in.read(bb)) != -1) {  
    24                 out.write(bb, 0, n);// 写入到输出流  
    25             }  
    26             out.close();// 关闭流  
    27             in.close();  
    28         }  
    29       
    30     }  

    2. 转换流

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

    Java代码

     1     package com.io;  
     2     import java.io.*;  
     3     public class OutputStreamWriterDemo01    
     4     {    
     5         public static void main(String args[]) throws Exception{    //所有异常抛出     
     6             //写入数据  
     7             File file=new File("d:"+File.separator+"test.txt");    
     8             Writer writer=null;     //字符输出流     
     9             writer=new OutputStreamWriter(new FileOutputStream(file));  //字节流变为字符流     
    10             String str="hello world!!!!";       
    11             writer.write(str);  //使用字符流输出     
    12             writer.close();  
    13               
    14             //读取文件  
    15               
    16             File f = new File("d:" + File.separator + "test.txt") ;     
    17             Reader reader = null ;    
    18             reader = new InputStreamReader(new FileInputStream(f)) ;    // 将字节流变为字符流     
    19             char c[] = new char[1024] ;    
    20             int len = reader.read(c) ;  // 读取     
    21             reader.close() ;    // 关闭     
    22             System.out.println(new String(c,0,len)) ;    
    23         }    
    24     }    
  • 相关阅读:
    【妖精眼镜】
    神兽保佑-代码无BUG
    Eclipse常用快捷键 及 不格式化注释
    Android dialog 全屏
    eclipse 改变颜色,背景
    GOOGLE和百度的长域名
    Android在ArrayAdapter<>里如何得到List<>的Items
    Android 仿微信朋友圈发动态功能(相册图片多选)
    Android 让GridView的高度为Wrap_content根据内容自适应高度
    C++中函数的返回值
  • 原文地址:https://www.cnblogs.com/xingmeng/p/3270639.html
Copyright © 2011-2022 走看看