最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Java中的IO流總結(jié)(推薦)

 更新時(shí)間:2017年05月01日 10:00:45   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇關(guān)于Java中的IO流總結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1、 流的繼承關(guān)系,以及字節(jié)流和字符流。

2、 節(jié)點(diǎn)流FileOutputStream和FileInputStream和處理流BufferedInputStream和BufferedOutputStream。以及對(duì)應(yīng)的FileOutputWriter,F(xiàn)ileInputReader,BufferedInputReader,BufferedOutputWriter。

3、 轉(zhuǎn)換流InputStreamReader和OutputStreamWriter

一:流的繼承關(guān)系

字節(jié)流

字符流

字符流和字節(jié)流的使用范圍:字節(jié)流一般用來(lái)處理圖像,視頻,以及PPT,Word類型的文件。字符流一般用于處理純文本類型的文件,如TXT文件等,字節(jié)流可以用來(lái)處理純文本文件,但是字符流不能用于處理圖像視頻等非文本類型的文件。

二:處理流BufferedReader,BufferedWriter,BufferedInputStream

BufferedOutputsStream,都要包上一層節(jié)點(diǎn)流。也就是說(shuō)處理流是在節(jié)點(diǎn)流的基礎(chǔ)之上進(jìn)行的,帶有Buffered的流又稱為緩沖流,緩沖流處理文件的輸入輸出的速度是最快的。所以一般緩沖流的使用比較多。

下面是兩個(gè)簡(jiǎn)單的文件復(fù)制的實(shí)例:

public class MycopyTest {
  public static void main(String[] args) {
    File src = new File("D:/1.jpg");
    // D:/1.jpg必須的存在不然會(huì)報(bào)錯(cuò)
    File dest = new File("D:/2.jpg");
    // 如果D:/2.jpg存在則覆蓋,如果不存在則新建
    streamCopy(src, dest);
  }
private static void readCopy(File src,File dest)
  {
    FileReader fr=null;
    FileWriter fw=null;
    BufferedReader br=null;
    BufferedWriter bw=null;
    try {
      fr=new FileReader(src);
      fw=new FileWriter(dest);
      br=new BufferedReader(fr);
      bw=new BufferedWriter(fw);
      String str;
      while((str=br.readLine())!=null)
      {
        bw.write(str);
        bw.newLine();
      }
    }catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    try {
      bw.close();
      br.close();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

  }
  private static void streamCopy(File src, File dest) {
    FileInputStream fis = null;
    FileOutputStream fos = null;
    BufferedInputStream bis = null;
    BufferedOutputStream bos = null;
    try {
      fis = new FileInputStream(src);
      fos = new FileOutputStream(dest);
      bis = new BufferedInputStream(fis);
      bos = new BufferedOutputStream(fos);
      int len;
      byte[] b = new byte[1024];
      while ((len = bis.read(b)) != -1) {
        bos.write(b, 0, len);
        // bos.write(b,0,len);是把讀到數(shù)組的大小字節(jié)寫(xiě)入
        // bos.write(b);最后一次如果數(shù)組未寫(xiě)滿的話就會(huì)多讀。
      }
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    try {
      bos.close();
      bis.close();
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

 三:轉(zhuǎn)換流InputStreamReader和OutputStreamWriter

 轉(zhuǎn)換流的作用,文本文件在硬盤(pán)中以字節(jié)流的形式存儲(chǔ)時(shí),通過(guò)InputStreamReader讀取后轉(zhuǎn)化為字符流給程序處理,程序處理的字符流通過(guò)OutputStreamWriter轉(zhuǎn)換為字節(jié)流保存。

public class InputStreamWriterTest {
  public static void main(String[] args) {
    File src = new File("D:/Files/哈哈.txt");
    File dest = new File("D:/Files/斯密斯.txt");
    BufferedWriter bw = null;
    BufferedReader br = null;
    FileInputStream fis = null;
    FileOutputStream fos = null;
    try {
      fis = new FileInputStream(src);
      fos = new FileOutputStream(dest);
      InputStreamReader ir = new InputStreamReader(fis, "GBK");
      OutputStreamWriter ow = new OutputStreamWriter(fos, "GBK");
      bw = new BufferedWriter(ow);
      br = new BufferedReader(ir);
      String str;
      while ((str = br.readLine()) != null) {
        bw.write(str);
        bw.newLine();
        bw.flush();
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
    try {
      bw.close();
      br.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

以上這篇關(guān)于Java中的IO流總結(jié)(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java通過(guò)賣(mài)票理解多線程

    Java通過(guò)賣(mài)票理解多線程

    本文主要介紹了一個(gè)多線程賣(mài)票的例子,通過(guò)賣(mài)票這個(gè)實(shí)例來(lái)介紹多線程的方式,加深理解,需要的朋友可以參考下
    2017-09-09
  • 淺談java中的局部變量和全局變量

    淺談java中的局部變量和全局變量

    這篇文章主要涉及了java中的局部變量和全局變量,就二者的含義、生存時(shí)間和創(chuàng)建位置作了介紹,需要的朋友可以參考下。
    2017-09-09
  • Java線程池復(fù)用線程的秘密你知道嗎

    Java線程池復(fù)用線程的秘密你知道嗎

    這篇文章主要為大家詳細(xì)介紹了Java線程池復(fù)用線程的秘密,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望您能夠多多關(guān)注

    2022-03-03
  • SpringBoot中對(duì)應(yīng)2.0.x版本的Redis配置詳解

    SpringBoot中對(duì)應(yīng)2.0.x版本的Redis配置詳解

    這篇文章主要為大家介紹了SpringBoot中對(duì)應(yīng)2.0.x版本的Redis配置詳解,文中的實(shí)現(xiàn)步驟講解詳細(xì),感興趣的小伙伴們可以了解一下
    2022-06-06
  • 分布式之全面了解Kafka的使用與特性

    分布式之全面了解Kafka的使用與特性

    Kafka?是我工作多年使用最多的消息中間件?,特點(diǎn)是擁有巨大吞吐量(數(shù)百萬(wàn)/秒),作為當(dāng)下最流行的分布式,可水平擴(kuò)展,可容錯(cuò)的“消息系統(tǒng)”,下面跟隨小編看下分布式之全面了解Kafka的使用與特性
    2021-11-11
  • springboot全局配置文件與多環(huán)境配置的全過(guò)程

    springboot全局配置文件與多環(huán)境配置的全過(guò)程

    SpringBoot項(xiàng)目在多環(huán)境配置上表現(xiàn)的非常優(yōu)秀,只需要非常簡(jiǎn)單的操作就可以完成配置,下面這篇文章主要給大家介紹了關(guān)于springboot全局配置文件與多環(huán)境配置的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • SpringBoot結(jié)合JWT實(shí)現(xiàn)用戶登錄、注冊(cè)、鑒權(quán)

    SpringBoot結(jié)合JWT實(shí)現(xiàn)用戶登錄、注冊(cè)、鑒權(quán)

    用戶登錄、注冊(cè)及鑒權(quán)是我們基本所有系統(tǒng)必備的,也是很核心重要的一塊,本文主要介紹了SpringBoot結(jié)合JWT實(shí)現(xiàn)用戶登錄、注冊(cè)、鑒權(quán),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-05-05
  • Java嵌套for循環(huán)的幾種常見(jiàn)優(yōu)化方案

    Java嵌套for循環(huán)的幾種常見(jiàn)優(yōu)化方案

    這篇文章主要給大家介紹了關(guān)于Java嵌套for循環(huán)的幾種常見(jiàn)優(yōu)化,在Java中優(yōu)化嵌套for循環(huán)可以通過(guò)以下幾種方式來(lái)提高性能和效率,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • SpringBoot在線代碼修改器的問(wèn)題及解決方法

    SpringBoot在線代碼修改器的問(wèn)題及解決方法

    這篇文章主要介紹了SpringBoot在線代碼修改器的問(wèn)題及解決方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 10中java常見(jiàn)字符串操作實(shí)例

    10中java常見(jiàn)字符串操作實(shí)例

    給大家分享10中java常見(jiàn)字符串操作方法以及相關(guān)實(shí)例代碼,對(duì)此有需要的讀者們可以學(xué)習(xí)參考下。
    2019-07-07

最新評(píng)論

板桥市| 博客| 滁州市| 金湖县| 贺州市| 漳平市| 阿鲁科尔沁旗| 万安县| 磐石市| 哈密市| 会昌县| 通州区| 滁州市| 宜昌市| 通榆县| 城步| 景德镇市| 肥乡县| 永清县| 西峡县| 金塔县| 昔阳县| 林甸县| 金秀| 华坪县| 商都县| 玉溪市| 庆阳市| 临桂县| 赤峰市| 琼结县| 宾阳县| 沭阳县| 通渭县| 长岭县| 万源市| 木兰县| 宜宾市| 温州市| 大悟县| 淳化县|