亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JavaIO之字符流學習筆記

標簽:
Java
一、字节字符转换流

字符处理是一次处理一个字符,底层仍然是字节序列。字符流的基本使用与字节流类似。

InputStreamReader:按照编码将字节流解析成字符流
OutputStreamReader:按照编码将字符流转换为字节流
    public static void main(String[] args)throws IOException {
        FileInputStream in = new FileInputStream("D:/Files/test.txt");
        InputStreamReader isr = new InputStreamReader(in,"gbk");

        FileOutputStream out = new FileOutputStream("D:/Files/test2.txt");
        OutputStreamWriter osw = new OutputStreamWriter(out);

        char[] buf = new char[8*1024];
        int c;
        while((c=isr.read(buf, 0, buf.length))!=-1){
            osw.write(buf,0,c);
            osw.flush();
        }
        isr.close();
        osw.close();
    }
二、文件读写流

使用文件读写流FileReader/FileWriter实现上例的代码如下。当FileWriter实例化时,构造参数有一个true,则表示在原文件后追加内容。

    public static void main(String[] args)throws IOException {
        FileReader fr = new FileReader("D:/Files/test.txt");
        FileWriter fw = new FileWriter("D:/Files/test3.txt");
        //FileWriter fw = new FileWriter("D:/Files/test3.txt",true);//文件后追加内容
        char[] buf = new char[2056];
        int c;
        while((c=fr.read(buf, 0, buf.length))!=-1){
            fw.write(buf, 0, c);
            fw.flush();
        }
        fr.close();
        fw.close();
    }
三、字符缓冲流
BufferedReader:读取文件,一次读一行
BufferedWriter/PrintWriter:写文件

使用字符缓冲流时,实例化对象需要一步一步向底层进行构造,而使用PrintWriter时可以直接进行构造。代码如下。

    public static void main(String[] args)throws IOException {
        BufferedReader br = new BufferedReader(
                new InputStreamReader(
                        new FileInputStream("D:/Files/test.txt")));

        BufferedWriter bw = new BufferedWriter(
                new FileWriter("D:/Files/test1.txt"));

        PrintWriter pw = new PrintWriter("D:/Files/test6.txt");

        String line;
        while((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();//由于不能识别换行,所以要加上换行语句
            bw.flush();

            pw.println(line);
            pw.flush();
        }
        br.close();
        bw.close();
        pw.close();
    }

注:文章根据本站相关课程的学习笔记整理而来,有错误或其他任何问题敬请指正,欢迎共同学习交流!

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
軟件工程師
手記
粉絲
36
獲贊與收藏
349

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消