java IO流之三 使用緩沖流來讀寫文件


原文:http://blog.csdn.net/haluoluo211/article/details/52183219

一、通過BufferedReader和BufferedWriter來讀寫文件

 

     使用緩沖流的好處是,能夠更高效的讀寫信息,原理是將數據先緩沖起來,然后一起寫入或者讀取出來。經常使用的是readLine()方法,表示一次讀取一行數據。

package org.example.io;  
  
import java.io.BufferedReader;  
import java.io.BufferedWriter;  
import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileReader;  
import java.io.FileWriter;  
import java.io.IOException;  
  
public class TestBufferedWriter {  
  
    public static void main(String[] args) throws Exception {  
        write();  
        read();  
    }  
  
    /** 
     * DOC 讀取信息. 
     *  
     * @throws FileNotFoundException 
     * @throws IOException 
     */  
    private static void read() throws FileNotFoundException, IOException {  
        File file = new File("E:\\a.txt");// 指定要讀取的文件  
        // 獲得該文件的緩沖輸入流  
        BufferedReader bufferedReader = new BufferedReader(new FileReader(file));  
        String line = "";// 用來保存每次讀取一行的內容  
        while ((line = bufferedReader.readLine()) != null) {  
            System.out.println(line);  
        }  
        bufferedReader.close();// 關閉輸入流  
    }  
  
    /** 
     * DOC 寫入信息. 
     *  
     * @throws IOException 
     */  
    private static void write() throws IOException {  
        File file = new File("E:\\a.txt");// 指定要寫入的文件  
        if (!file.exists()) {// 如果文件不存在則創建  
            file.createNewFile();  
        }  
        // 獲取該文件的緩沖輸出流  
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file));  
        // 寫入信息  
        bufferedWriter.write("你好世界");  
        bufferedWriter.newLine();// 表示換行  
        bufferedWriter.write("hello world");  
        bufferedWriter.flush();// 清空緩沖區  
        bufferedWriter.close();// 關閉輸出流  
    }  
  
}  

 

二、使用BufferedInputStream和BufferedOuputStream讀寫圖片

 

使用方式和FileInputStrem和FileOutputStream基本一致:

 

package org.example.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:\\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();  
    }  
  
}  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM