1. 程式人生 > 其它 >緩衝流(字元型)實現文字檔案的複製

緩衝流(字元型)實現文字檔案的複製

/**
 * 處理流之一:緩衝流的使用
 *
 * 1.緩衝流
 * BufferedInputStream
 * BufferedOutputStream
 * BufferedReader
 * BufferedWriter
 *
 * 2.作用:提高流的讀取、寫入的速度
 *      提高讀寫速度的原因:內部提供了一個緩衝區
 *
 * 3. 處理流:就是”套接“在內部流的基礎上的流。
 */
public class BufferedTest {
 /*
    使用BufferedReader和BufferedWriter實現文字檔案的複製
     */
    @Test
    public void testBufferedReaderBufferedWriter(){
        BufferedReader br = null;
        BufferedWriter bw = null;
        try {
            //建立檔案和相應的流
            br = new BufferedReader(new FileReader(new File("dbcp.txt")));
            bw = new BufferedWriter(new FileWriter(new File("dbcp1.txt")));

            //讀寫操作
            //方式一:使用char[]陣列
//            char[] cbuf = new char[1024];
//            int len;
//            while ((len = br.read(cbuf)) != -1){
//                bw.write(cbuf, 0, len);
//                //bw.flush();
//            }

            //方式二:使用String
            String data;
            while ((data = br.readLine()) != null){
                //方法一:
//                bw.write(data + "\n");//data中不包含換行符
                //方法二:
                bw.write(data);
                bw.newLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //關閉資源
            if (bw != null){
                try {
                    bw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (br != null){
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }
}