成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java中關于I/O流的介紹-創(chuàng)新互聯(lián)

I/O流,就是用來讀寫數(shù)據(jù)的,也稱為輸入,輸出流

目錄

公司主營業(yè)務:網(wǎng)站建設、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出長寧免費做網(wǎng)站回饋大家。

1.I/O流的簡介

2.I/O流的分類

3.I/O流體系

4.文件字節(jié)輸入流 FileInputStream--讀取文件數(shù)據(jù)

5.文件字節(jié)輸出流OutPutStream--寫數(shù)據(jù)到文件

6.兩種資源釋放操作

7.字符輸入流Reader

8.字符輸出流Write

9.字節(jié)流字符流如何選擇


1.I/O流的簡介

I表示input,把硬盤文件中的數(shù)據(jù)讀入到內(nèi)存中的過程,稱之為輸入,負責讀。

O表示output,把內(nèi)存的數(shù)據(jù)寫入硬盤的過程,為輸出,負責寫。

2.I/O流的分類

1.按照流的方向:可以分為輸入流,輸出流

2.按照流中數(shù)據(jù)的最小單位:分為字符流和字節(jié)流

3.I/O流體系
?????????????字符流?????????????字節(jié)流

Writer

Reader

InputStream

OutputStream

字符輸入字符輸出字節(jié)輸入字節(jié)輸出

I/O流體系因為是抽象,所以不能直接用,需要用他們的子類。

4.文件字節(jié)輸入流 FileInputStream--讀取文件數(shù)據(jù)

FileInputStream是字節(jié)輸入流inputStream的子類

FileInputStream的作用:以內(nèi)存為基準,把磁盤文件中的數(shù)據(jù)以字節(jié)的形式讀取到內(nèi)存中去。

使用

InputStream is = new FileInputStream("文件路徑");

方法

read():每次讀取一個字節(jié),讀取完畢后返回-1;

read(byte[] buffer):每次讀取一個數(shù)組,沒有數(shù)組可讀返回-1。

當讀取中文的時候,可能會出現(xiàn)亂碼。這時候該如何解決呢?

解決:定義一個與文件一樣大的字節(jié)數(shù)組,一次性讀取完文件的全部字節(jié)。

File f=new File("文件路經(jīng)");
        InputStream is=new FileInputStream(f);

        byte[] buffer=new byte[(int)f.length()];
        int len= is.read(buffer);
        System.out.println("讀取了"+len);
        System.out.println("文件大小"+f.length());
        System.out.println(new String(buffer));

在java也提供了相應的方法 ---readAllBytes()

byte[] buffer= is.readAllBytes();
 System.out.println(new String(buffer));
5.文件字節(jié)輸出流OutPutStream--寫數(shù)據(jù)到文件
public static void main(String[] args) throws Exception {
        OutputStream outputStream =new FileOutputStream("D:\\java\\itheima\\file-io-app\\src\\out01.txt");

        //向新創(chuàng)建的文件中添加數(shù)據(jù)
        outputStream.write('a');
        outputStream.write(97);
        //outputStream.write('茲');//漢字會出現(xiàn)亂碼

        //向文件中添加漢字內(nèi)容
        byte[] b="加油年輕人".getBytes();
        outputStream.write(b);

        outputStream.flush();//刷新數(shù)據(jù),可以繼續(xù)使用
        outputStream.close();//釋放資源,包含刷新數(shù)據(jù),close后不能使用

    }

文件輸出

6.兩種資源釋放操作

1.手動釋放

try{

可能會出現(xiàn)異常的代碼

}

catch(異常類名 變量名? ){

異常執(zhí)行的操作

}

finally{

執(zhí)行資源釋放操作

}

2.自動釋放

自動釋放有兩種,分別是JDK7和JDK9提供的。

這是JDK7,這種比較常用。

try(定義流對象){

可能會出現(xiàn)異常的代碼

}

catch{

異常處理代碼

}

JDK9:

定義輸入流對象

定義輸出流對象

try(輸入流對象;輸出流對象){

可能會出現(xiàn)異常的代碼

}

catch{

異常處理代碼

}

7.字符輸入流Reader

更方便的讀取漢字

Reader re=new FileReader("D:\\java\\itheima\\file-io-app\\src\\data02.txt");

        int code;
        while ((code=re.read()) != -1){//當返回-1的時候不在讀取
            System.out.print((char) code);
        }

8.字符輸出流Write

向文件中寫入數(shù)據(jù)

Writer re=new FileWriter("目標文件");

    re.write('a');

    re.write("dadadd");

    char[] a="我愛學習".toCharArray();
    re.write(a,0,3);

    re.close();
9.字節(jié)流字符流如何選擇

字節(jié)流適合做一切文件數(shù)據(jù)的拷貝(音視頻,文本)

字節(jié)流不適合讀取中文內(nèi)容

字符流適合做文本文件的操作

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

當前標題:java中關于I/O流的介紹-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://jinyejixie.com/article16/dijsgg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、商城網(wǎng)站、軟件開發(fā)、用戶體驗、面包屑導航、網(wǎng)頁設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司
互助| 旌德县| 泸溪县| 油尖旺区| 淮滨县| 宝清县| 神池县| 伊宁县| 玛沁县| 修文县| 安义县| 嘉义县| 吉水县| 科技| 新乡市| 大同市| 鹤庆县| 凌源市| 正阳县| 亚东县| 霍州市| 京山县| 师宗县| 库尔勒市| 泉州市| 当阳市| 云安县| 武功县| 合阳县| 什邡市| 梓潼县| 洪湖市| 姜堰市| 晋中市| 东丰县| 车险| 镇坪县| 赤壁市| 永济市| 吴堡县| 怀远县|