JAVA學習筆記(三十三)- 位元組流轉換為字元流,java學習筆記

來源:互聯網
上載者:User

JAVA學習筆記(三十三)- 位元組流轉換為字元流,java學習筆記
將位元組流轉換為字元流

import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;/* * InputStreamReader和OutputStreamWriter類 * 用來將位元組流轉換為字元流 *  * 註:Java中沒有提供將字元流轉換為位元組流的方法 */public class Test04 {    public static void main(String[] args) throws IOException {        test2();    }    // 將檔案位元組輸入資料流轉換為字元流    public static void test1() throws IOException {        // 定義檔案位元組輸入資料流        InputStream is = new FileInputStream("D:\\Java\\hello.txt");        // 將其轉換為字元流        InputStreamReader isr = new InputStreamReader(is);        int data;        while ((data = isr.read()) != -1) {            System.out.println((char) data);        }        isr.close();        is.close();    }    // 將檔案位元組輸出資料流轉換字元流    public static void test2() throws IOException {        // 定義檔案位元組輸出資料流        OutputStream os = new FileOutputStream("D:\\Java\\hello.txt");        // 將其轉換為字元流,指定寫入時使用的編碼        OutputStreamWriter osw = new OutputStreamWriter(os, "gbk");        //將標準位元組輸入資料流轉換為字元流,指定讀取時使用的編碼        InputStreamReader isr = new InputStreamReader(System.in, "gbk");        int data;        System.out.println("請輸入資料:");        while((data=isr.read())!='q'){            osw.write(data);            osw.flush();        }        isr.close();        os.close();    }}
為字元輸入輸出資料流添加緩衝
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;/* * BufferedReader和BufferedWriter緩衝流 * 為字元輸入輸出資料流添加緩衝  */public class Test05 {    public static void main(String[] args) throws IOException {        test2();    }    // 為字元輸入資料流添加緩衝    public static void test1() throws IOException {        // 將標準位元組輸入資料流轉換為字元流        InputStreamReader isr = new InputStreamReader(System.in, "gbk");        // 為字元輸入資料流添加緩衝        BufferedReader br = new BufferedReader(isr);        System.out.println("請輸入資料:");        String str = null;        while ((str = br.readLine()) != null) {            System.out.println(str);        }        br.close();        isr.close();    }    // 使用緩衝流複製檔案    public static void test2() throws IOException {        // 定義一個檔案字元輸入資料流        FileReader fr = new FileReader("D:\\Java\\hello.txt");        // 為輸入資料流添加緩衝        BufferedReader br = new BufferedReader(fr);        // 定義一個檔案字元輸出資料流        FileWriter fw = new FileWriter("D:\\Java\\world.txt");        // 為輸出資料流添加緩衝        BufferedWriter bw = new BufferedWriter(fw);        String str = null;        while ((str = br.readLine()) != null) {            bw.write(str);        }        bw.flush();        System.out.println("檔案複製成功!");        bw.close();        br.close();    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.