欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          JAVA學習IO操作之字節(jié)流和字符流(總結(jié)分享)

          本篇文章給大家?guī)砹岁P(guān)于java的相關(guān)知識,其中主要介紹了IO操作的相關(guān)問題,包括了字節(jié)流和字符流等相關(guān)內(nèi)容,下面一起來看一下,希望對大家有幫助。

          JAVA學習IO操作之字節(jié)流和字符流(總結(jié)分享)

          推薦學習:《java視頻教程》

          前言:本章具體介紹了字節(jié)流、字符流的基本使用方法,圖解穿插代碼實現(xiàn)。

          IO操作

          JAVA學習IO操作之字節(jié)流和字符流(總結(jié)分享)

          字節(jié)流

          • java.io.InputStream 輸入流,主要是用來讀取文件內(nèi)容的。

          • java.io.OutputStream 輸出流,主要是用來將內(nèi)容字節(jié)寫入文件的。

          FileInputStream

          該流用于從文件讀取數(shù)據(jù),它的對象可以用關(guān)鍵字 new 來創(chuàng)建。
          有多種構(gòu)造方法可用來創(chuàng)建對象。
          可以使用字符串類型的文件名來創(chuàng)建一個輸入流對象來讀取文件

          InputStream f = new FileInputStream("D:/hello");

          也可以使用一個文件對象來創(chuàng)建一個輸入流對象來讀取文件。我們首先得使用 File() 方法來創(chuàng)建一個文件對象:

          File f = new File("D:/hello");InputStream in = new FileInputStream(f);

          FileOutputStream

          該類用來創(chuàng)建一個文件并向文件中寫數(shù)據(jù)。
          如果該流在打開文件進行輸出前,目標文件不存在,那么該流會創(chuàng)建該文件。
          有兩個構(gòu)造方法可以用來創(chuàng)建 FileOutputStream 對象。
          使用字符串類型的文件名來創(chuàng)建一個輸出流對象:

          OutputStream f = new FileOutputStream("D:/hello");

          也可以使用一個文件對象來創(chuàng)建一個輸出流來寫文件。我們首先得使用File()方法來創(chuàng)建一個文件對象:

          File f = new File("D:/hello");OutputStream fOut = new FileOutputStream(f);

          字節(jié)流讀寫案例

          讀取D:/hello.txt文件中的內(nèi)容再輸入到文件D:/test.txt中

                public class Mk {         public static void main(String[] args) throws IOException {             File file=new File("D://hello.txt");             File file1= new File("D://test.txt");             InputStream is=new FileInputStream(file);             OutputStream out=new FileOutputStream(file1);             //定義byte數(shù)組用來暫存數(shù)據(jù)             byte[] buf = new byte[1024];             //讀取Is中的內(nèi)容存到buf             is.read(buf);             //將buf中的內(nèi)容寫入out             out.write(buf);             is.close();             out.close();         }         }

          字符流

          FileWriter

          寫入文件實例

          public class A {     public static void main(String[] args) throws IOException {         FileWriter fw = new FileWriter("user.txt", true);         fw.write("你好中國1");         fw.write("你好中國2");         fw.write("你好中國3");         fw.close();     }}

          JAVA學習IO操作之字節(jié)流和字符流(總結(jié)分享)
          JAVA學習IO操作之字節(jié)流和字符流(總結(jié)分享)

          FileReader

          讀取文件實例
          這里我把內(nèi)容換行了
          JAVA學習IO操作之字節(jié)流和字符流(總結(jié)分享)
          br.ready()是判斷這一行流是否為空
          br.readLine()是輸出一行,然后自動光標指到下一行。

          public class A {     public static void main(String[] args) throws IOException {         BufferedReader br = new BufferedReader(new FileReader("user.txt"));         while (br.ready()) {             System.out.println(br.readLine());         }         br.close();     }}

          JAVA學習IO操作之字節(jié)流和字符流(總結(jié)分享)

          字節(jié)流與字符流得區(qū)別

          字節(jié)流和字符流使用是非常相似的,那么除了操作代碼的不同之外,還有哪些不同呢?

          字節(jié)流在操作的時候本身是不會用到緩沖區(qū)(內(nèi)存)的,是與文件本身直接操作的,而字符流在操作的時候是使用到緩沖區(qū)的
          字節(jié)流在操作文件時,即使不關(guān)閉資源(close方法),文件也能輸出,但是如果字符流不使用close方法的話,則不會輸出任何內(nèi)容,說明字符流用的是緩沖區(qū),并且可以使用flush方法強制進行刷新緩沖區(qū),這時才能在不close的情況下輸出內(nèi)容

          那開發(fā)中究竟用字節(jié)流好還是用字符流好呢?

          在所有的硬盤上保存文件或進行傳輸?shù)臅r候都是以字節(jié)的方法進行的,包括圖片也是按字節(jié)完成,而字符是只有在內(nèi)存中才會形成的,所以使用字節(jié)的操作是最多的。
          如果要java程序?qū)崿F(xiàn)一個拷貝功能,應該選用字節(jié)流進行操作(可能拷貝的是圖片),并且采用邊讀邊寫的方式(節(jié)省內(nèi)存)。

          推薦學習:《java視頻教程》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號