亚洲国产综合网站|精品国产自在免费观看|日本免费精品一区二区三区|亚洲一区在线日韩在线尤物

<blockquote id="2t14e"></blockquote>
<ul id="2t14e"></ul>
  • <blockquote id="2t14e"></blockquote>

    1. JavaIO流學(xué)習(xí)總結(jié)報(bào)告

      時(shí)間:2022-12-07 13:01:46 學(xué)習(xí)總結(jié) 我要投稿
      • 相關(guān)推薦

      JavaIO流學(xué)習(xí)總結(jié)報(bào)告

        一、什么是流?

      JavaIO流學(xué)習(xí)總結(jié)報(bào)告

        流就是字節(jié)序列的抽象概念,能被連續(xù)讀取數(shù)據(jù)的數(shù)據(jù)源和能被連續(xù)寫入數(shù)據(jù)的接收端就是流,流機(jī)制是Java及C++中的一個(gè)重要機(jī)制,通過流我們可以自由地控制文件、內(nèi)存、IO設(shè)備等數(shù)據(jù)的流向。而IO流就是用于處理設(shè)備上的數(shù)據(jù),如:硬盤、內(nèi)存、鍵盤錄入等。IO流根據(jù)處理類型的不同可分為字節(jié)流和字符流,根據(jù)流向的不同可分為輸入流和輸出流。

        二、字節(jié)流和字符流的區(qū)別:

        字符流,因?yàn)槲募幋a的不同,就有了對(duì)字符進(jìn)行高效操作的字符流對(duì)象,它的原理就是基于字節(jié)流讀取字節(jié)時(shí)去查了指定的碼表。它和字節(jié)流的區(qū)別有兩點(diǎn):1.在讀取數(shù)據(jù)的時(shí)候,字節(jié)流讀到一個(gè)字節(jié)就返回一個(gè)字節(jié),字符流使用了字節(jié)流讀到一個(gè)或多個(gè)字節(jié)(一個(gè)中文對(duì)應(yīng)的字節(jié)數(shù)是兩個(gè),在UTF-8碼表中是3個(gè)字節(jié))時(shí),先去查指定的編碼表,再將查到的字符返回;2.字節(jié)流可以處理所有類型的數(shù)據(jù),如jpg、avi、mp3、wav等等,而字符流只能處理字符數(shù)據(jù)。所以可以根據(jù)處理的文件不同考慮使用字節(jié)流還是字符流,如果是純文本數(shù)據(jù)可以優(yōu)先考慮字符流,否則使用字節(jié)流。

        三、IO體系,所具備的基本功能就是讀和寫:

        1.字符流

        |-- Reader(讀)

        |-- Writer(寫)

        Reader

        |--InputStreamReader

        |--FileReader:用于處理文件的字符讀取流對(duì)象

        Writer

        |--OutputStreamWriter

        |--FileWriter:用于處理文件的字符寫入流對(duì)象

        其實(shí)很容易就可以看出來,IO體系中的子類名后綴絕大部分是父類名稱,而前綴則是體現(xiàn)子類特有功能的名稱。

        Reader中常見的方法:

        |--int read()

        讀取一個(gè)字符,并返回讀到的這個(gè)字符,讀到流的末尾則返回-1。

        |--int read(char[])

        將讀到的字符存入指定的數(shù)組中,返回的是讀到的字符個(gè)數(shù),讀到流的末尾則返回-1。 |--close()

        讀取字符其實(shí)用的是window系統(tǒng)的功能,就希望使用完畢后,進(jìn)行資源的釋放。 FileReader除了自己的構(gòu)造函數(shù)外沒有特有的方法:

        |--用于讀取文本文件的流對(duì)象。

        |--用于關(guān)聯(lián)文本文件。

        在讀取流對(duì)象初始化時(shí),必須要指定一個(gè)被讀取的文件,

        如果該文件不存在則會(huì)發(fā)生FileNotFoundException異常。

        Writer中常見的方法:

        |--write()

        將一個(gè)字符寫入到流中。

        |--write(char[])

        將一個(gè)字符數(shù)組寫入到流中。

        |--writer(String)

        將一個(gè)字符寫入到流中。

        |--flush()

        刷新流,將流中的數(shù)據(jù)刷新到目的地中,流還存在。

        |--close()

        關(guān)閉資源,在關(guān)閉錢會(huì)先調(diào)用flush(),刷新流中的數(shù)據(jù)到目的地。

        FileWriter,除了自己的構(gòu)造函數(shù)外沒有特有的方法:

        |--該類的特點(diǎn)

        |--用于處理文本文件

        |--沒有默認(rèn)的編碼表

        |--有臨時(shí)緩沖

        |--構(gòu)造函數(shù),在寫入流對(duì)象初始化時(shí),必須要有一個(gè)存儲(chǔ)數(shù)據(jù)的目的地。

        |--FileWriter(String fileName),該構(gòu)造器是干什么用的呢?

        |--調(diào)用系統(tǒng)資源

        |--在指定位置創(chuàng)建一個(gè)文件,如果該文件已經(jīng)存在則被覆蓋。

        |--FileWriter(String filename,Boolean append),這構(gòu)造器的作用是當(dāng)傳入的boolean類型的值為true時(shí),會(huì)在指定文件末尾處進(jìn)行數(shù)據(jù)的續(xù)寫。

        清單1,將文本數(shù)據(jù)保存到文件中代碼 private static void test1(){ FileWriter fw=null;

        //初始化FileWriter對(duì)象,指定文件名已經(jīng)存儲(chǔ)路徑 fw=new FileWriter("D:/test.txt");

        fw.write("將字符串寫入流");

        //將流中的數(shù)據(jù)刷新到目的地,流還在 fw.flush();

        fw.write("將字符串寫入流"); } catch (IOException e) { e.printStackTrace(); }finally{ if(fw!=null){ try { fw.close(); } catch (IOException e1) { e1.printStackTrace(); } } }

        }

        清單2,讀取一個(gè)已有文本文件,并將文本內(nèi)容打印出來代碼 private static void test2(){ FileReader fr=null; try {

        //初始化FileReader對(duì)象,指定文件路徑 fr=new FileReader("D:/test.txt"); int ch=0; while((ch=fr.read())!=-1){

        //每次讀取一個(gè)字符,直到讀到末尾-1為止 System.out.println((char)ch);

        } catch (IOException e) { e.printStackTrace(); }finally{ if(fr!=null){ try { fr.close(); } catch (IOException e1) { e1.printStackTrace(); } } }

        }

        這樣每讀到一個(gè)字符就打印出來,效率很不高,能不能按指定大小讀取完后再打印出來呢?答案是當(dāng)然可以的。

        清單3,讀取一個(gè)已有文本文件,讀完1kb再將其讀到的內(nèi)容打印出來代碼 private static void test3(){ FileReader fr=null; try {

        //初始化FileReader對(duì)象,指定文件路徑 fr=new FileReader("D:/test.txt"); char[] buf=new char[1024]; int len=0; while((len=fr.read(buf))!=-1){

        //每次讀取1kb大小的字符,直到讀到末尾-1為止 System.out.println(new String(buf,0,len)); } } catch (IOException e) {

      【JavaIO流學(xué)習(xí)總結(jié)報(bào)告】相關(guān)文章:

      學(xué)習(xí)總結(jié)報(bào)告04-30

      關(guān)于學(xué)習(xí)培訓(xùn)總結(jié)報(bào)告04-22

      護(hù)士學(xué)習(xí)與實(shí)習(xí)總結(jié)報(bào)告05-07

      實(shí)踐活動(dòng)學(xué)習(xí)總結(jié)報(bào)告05-07

      先進(jìn)黨員學(xué)習(xí)總結(jié)報(bào)告05-04

      出差學(xué)習(xí)個(gè)人總結(jié)報(bào)告05-03

      國培學(xué)習(xí)總結(jié)報(bào)告05-03

      黨員全年學(xué)習(xí)總結(jié)報(bào)告04-07

      新課程培訓(xùn)學(xué)習(xí)總結(jié)報(bào)告04-14