1. 程式人生 > >IO流的一些練習

IO流的一些練習

文本文件 pre 文本 close 創建 throws code true ade

1.復制文本文件

import java.io.*;

/**
 * 復制文本文件 (為操作方便本測試throws)
 * 條件:此項目下有一個text文件
 */

public class CopyText {
    public static void main(String[] args) throws IOException{
        // 分析可知,可采用高效字符流來復制文件
        // 創建高效字符輸入流對象
        BufferedReader br = new BufferedReader(new FileReader("test.txt"));
        // 創建高效字符輸出流對象
        BufferedWriter bw = new BufferedWriter(new FileWriter("copy.txt"));
        // 定義字符串來接收字符輸入流讀到的每一行數據
        String line = null;
        // 只要line不為空,說明還能讀到數據
        while ((line = br.readLine()) != null) {
            // 將讀到的一行數據,用字符輸出流對象寫入到copy.txt中
            bw.write(line);
            // 由於readLine()不返回換行符,需要手動添加
            bw.newLine();
            // 把緩沖區數據寫入文件中
            bw.flush();
        }
        // 關閉 輸入流和輸出流對象
        br.close();
        bw.close();
    }
}

2.復制圖片

import java.io.*;

/**
 * 復制圖片 (為操作方便 throws 異常)
 * 條件:此項目下有:test.jp
 * 分析:用BufferedInputStream 和 BufferedOutputStream
 */

public class CopyImage {
    public static void main(String[] args) throws IOException {
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("test.jpg"));
        BufferedOutputStream bos 
= new BufferedOutputStream(new FileOutputStream("copy.jpg")); // 一般采用字節數組來做 byte[] bytes = new byte[1024]; int length; while ((length = bis.read(bytes)) != -1) { bos.write(bytes, 0, length); } bos.close(); bis.close(); } }

IO流的一些練習