国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java從零開始學三十六(JAVA IO- 字符流)

2019-11-14 23:07:04
字體:
來源:轉載
供稿:網友
java從零開始學三十六(JAVA IO- 字符流)一、字符流BufferedReader:BufferedReader是從緩沖區之中讀取內容,所有的輸入的字節數據都將放在緩沖區之中BufferedWriter:把一批數據寫入到緩沖區,當緩沖區區的滿時,再把緩沖區的內容寫到字符輸出流中二、對文本文件的讀寫2.1、字符輸入流

2.2、字符輸出流

2.3、綜合使用
package com.pb.io.buffered;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class BufereTest {/*BufferedWriter * 1.需要修飾到一個指定的輸出流(例如:FileWriter)還可以是其它的 * 2.BufferedWriter會覆蓋原有文件內容 * 3.需要清空緩沖區,使用flush()方法 * BufferedReader * 1.需要修飾到一個指定的輸入流(例如:FileReader)還可以是其它的 * 2.關閉流 */    public static void main(String[] args) {        /*         * BufferedWriter寫操作         */        try {            //1.創建文件輸出流FileWriter            FileWriter fw=new FileWriter("d:/test/test.txt");              //這里沒有加true,是清空文件重新寫入,可以加入true            //2.實例化。BufferedWriter對象包裝類            BufferedWriter bw=new BufferedWriter(fw);            //3.寫入內容            bw.write("大家好!");            bw.write("我要修改內容了");            bw.newLine();  //換行            bw.write("哈哈,我修改完了!");            bw.newLine();            //4.清空緩沖區            bw.flush();            //5.關閉流            bw.close();            fw.close();            System.out.

結果:

==========寫入文件結束==============開始讀取文件========大家好!我要修改內容了哈哈,我修改完了!========讀取文件結束========
三、字節-字符轉換流
  • OutputStreamWriter:是Writer的子類,將輸出的字符流變為字節流,即:將一個字符流的輸出對象變為字節流輸出對象。
  • InputStreamReader:是Reader的子類,將輸入的字節流變為字符流,即:將一個字節流的輸入對象變為字符流的輸入對象。
FileOutputStream是OutputStream 的直接子類,FileInputStream也是InputStream的直接子類,但是在字符流文件的兩個操作類卻有一些特殊,FileWriter并不直接是Writer的子類,而是OutputStreamWriter的子類,而FileReader也不直接是Reader的子類,是InputStreamRader的子類,那么從這兩個類的繼承關系就可以清楚的發現,不管是使用字節流還是字符流實際上最終都是以字節的形式操作輸入輸出流的。例1.實現文本文件的復制
s1.txt內容明月幾時有,把酒問青天,不知道天上宮闕,今夕是何年。

package com.pb.io.buffered;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;/* * 實現文本文件的復制 *使用BufferedReader和BufferedWriter來實現 */public class BuffereDemo1 {    public static void main(String[] args) {                try {            //1.聲明BufferedReader和BufferedWriter對象            InputStreamReader  isr=new InputStreamReader(new FileInputStream("d:/test/s1.txt"), "GB2312");  //解決中文亂碼            //FileReader fr=new FileReader("d:/test/s1.txt");              BufferedReader br=new BufferedReader(isr);                        OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("d:/test/s2.txt"),"GB2312");            //FileWriter fw=new FileWriter("d:/test/s2.txt"); //s2并不存在,會自動創建            BufferedWriter bw =new BufferedWriter(osw);            //2.開始讀取文件            String line;  //聲明變量用來用來存放讀出的內容            int num=1;//用來記錄行數            while((line=br.readLine())!=null){                System.out.println("=========正在讀出第"+num+"行===========");                System.out.println(line);                System.out.println("=========正在寫入第"+num+"行===========");                bw.write(line);                num++;            }                        System.out.println("======文件寫入結束========");            //清空緩沖區            bw.flush();            //關閉輸出流            bw.close();            osw.close();            System.out.println("======文件讀取結束========");            //關閉輸入流            br.close();            isr.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绍兴县| 江西省| 藁城市| 大邑县| 中江县| 盐亭县| 班玛县| 平度市| 永顺县| 察隅县| 松阳县| 阿拉善右旗| 河源市| 南丰县| 陆川县| 九江市| 托克逊县| 鲜城| 梁平县| 民和| 双柏县| 甘谷县| 四平市| 乐安县| 蒙阴县| 洪江市| 贵州省| 保康县| 新野县| 秦皇岛市| 元氏县| 东乡族自治县| 静海县| 同心县| 浦城县| 施秉县| 昌都县| 隆子县| 中山市| 文安县| 凤山县|