欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java基礎入門之IO流

 更新時間:2021年06月16日 16:49:27   作者:scanner小霸王  
流是一種抽象概念,它代表了數(shù)據的無結構化傳遞。。用來進行輸入輸出操作的流就稱為IO流。換句話說,IO流就是以流的方式進行輸入輸出

io學習框架:

在這里插入圖片描述

文件:

保存數(shù)據的地方。

在這里插入圖片描述

1)常見文件對象的相關構造器和方法:

在這里插入圖片描述

當進行File file = new File(filePath);只是在內存上有一個文件對象;

只有file.createNewFile();才會在磁盤創(chuàng)建文件

在這里插入圖片描述

獲取文件的相關信息:

utf8中,一個漢字是三個字節(jié),所以當用字節(jié)流的read()方法一個字節(jié)一個字節(jié)的讀取的時候,將會出現(xiàn)亂碼的情況

在這里插入圖片描述

2)目錄的刪除和增加:

a)用來刪除文件或者文件夾

在這里插入圖片描述

b)文件夾的創(chuàng)建:

在這里插入圖片描述

Io流的原理:

在這里插入圖片描述

流的分類:

字節(jié)流適用于聲音等文件的傳輸,因為字節(jié)流是一個字節(jié)一個字節(jié)的讀取,可以保證無損;

字符流雖然讀取的效率高些,但更適用于文本的讀??;

注意:inpuStream,OutputStream,Reader,Writer全是抽象類,創(chuàng)建對象時候要實現(xiàn)他們的子類即可。

在這里插入圖片描述

1)InputSream輸入流:

在這里插入圖片描述

在這里插入圖片描述

字節(jié)輸入流:文件–》程序

a)fileInputStream.read()一個一個字節(jié)讀取

(注意:輸出的時候不能像如圖框選的那樣輸出,因為read()讀取的是下一個字符了)

在這里插入圖片描述

b)改進,使用fileInputStream.read(buffer)

在這里插入圖片描述

2)OutputStream

在這里插入圖片描述

注意:如果使用OutputStream寫入數(shù)據時候,文件不存在將自動進行文件的創(chuàng)建;

以下是寫入數(shù)據的幾種方式,

當使用紅框的語句的時候,寫入數(shù)據會追加在文件中;

否則,將覆蓋文件的內容

在這里插入圖片描述

完成文件的拷貝:(需要輸入流和輸出流的綜合應用)

在這里插入圖片描述

3)FileReader:

在這里插入圖片描述

在這里插入圖片描述

1)FileReader的使用:

在這里插入圖片描述

4) FileWriter:

在這里插入圖片描述

使用filewriter后,必須關閉(close)或者刷新(flush),否則寫入不到指定文件

在這里插入圖片描述

a)FileWriter的使用:

使用filewriter后,必須關閉(close)或者刷新(flush),否則寫入不到指定文件

close()相當于flush()+關閉

在這里插入圖片描述

節(jié)點流和處理流:

1)節(jié)點流:直接讀取數(shù)據源的流

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

2)處理流:對節(jié)點流進行包裝

在這里插入圖片描述

例如BufferReader:

readLine()是按行讀?。?br />

當返回null時候,表示文件讀取完畢;

關閉流的時候,這里只需要關閉BufferReader,因為底層會自動去關閉節(jié)點流;

在這里插入圖片描述

BufferWriter:

注意:如果需要追加在文件的話,是在節(jié)點流進行設置;

newLine()插入一個換行符

在這里插入圖片描述

兩者的區(qū)別與聯(lián)系:

在這里插入圖片描述

BufferReader和BufferWriter實現(xiàn)文件拷貝:

注意:BufferReader和BufferWriter是安裝字符操作;

不要操作二進制文件(聲音,視頻,doc,pdf,等等),可能會造成文件損壞

在這里插入圖片描述

處理字節(jié)的處理流:

BufferedOutputStream和BufferedInputStream實現(xiàn)拷貝圖片:

在這里插入圖片描述

當然,除此之外,BufferedOutputStream和BufferedInputStream也可以實現(xiàn)文本的拷貝;

對象處理流:專門處理對象的流,專門把對象保存到文件中,并且能夠從文件中恢復;

序列化:就是保存數(shù)據的時候,保存數(shù)據的值和數(shù)據類型;

標記接口:沒有任何方法

在這里插入圖片描述

1)ObjectInputStream:(也是包裝流)

在這里插入圖片描述

示例:

在這里插入圖片描述

2)ObjectOutputStream:

在這里插入圖片描述

示例:

序列化之后,保存的文件格式,不是純文本,而是按照他的格式來存儲

在這里插入圖片描述

當反序列化的時候需要用到getName();toString()等方法的時候,序列化也要一并把這些方法存儲進行;

在這里插入圖片描述

對象流注意事項:

在這里插入圖片描述

標準輸入和輸出:

標準輸入,從鍵盤是獲取:Scanner scanner = new Sanner(System.in);

在這里插入圖片描述

轉換流:

InputStreamReader:字節(jié)流轉化(包裝)為字符流;

在這里插入圖片描述

在這里插入圖片描述

1)**OutputStreamReader:**字節(jié)流轉化(包裝)為字符流;

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

打印流:

(只有輸出流,沒有輸入流)

PrintStream和PrintWriter(可以把信息打印到文件里面)

1)PrintStream

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

2)PrintWriter

在這里插入圖片描述

PrintWriter可以傳入一個輸出流,這里System.out是標準輸出

在這里插入圖片描述

Properties類:

1)傳統(tǒng)的處理方法(使用處理流加載配置文件),不方便:

在這里插入圖片描述

2)Properties方式:

在這里插入圖片描述

在這里插入圖片描述

總結

這篇文章就到這里了,希望大家能夠喜歡,也希望大家能夠多多關注腳本之家其他文章!

相關文章

  • Java中方法使用的深入講解

    Java中方法使用的深入講解

    這篇文章主要給大家介紹了關于Java中方法使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • java讀取配置文件自定義字段(yml、properties)

    java讀取配置文件自定義字段(yml、properties)

    本文主要介紹了java讀取配置文件自定義字段(yml、properties),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 詳解JAVA Timer和TimerTask

    詳解JAVA Timer和TimerTask

    這篇文章主要介紹了JAVA Timer和TimerTask的相關資料,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • Spring?Boot?集成接口管理工具?Knife4j

    Spring?Boot?集成接口管理工具?Knife4j

    這篇文章主要介紹了Spring?Boot?集成接口管理工具?Knife4j,首先通過創(chuàng)建一個?Spring?Boot?項目展開主題,需要的小伙伴可以參考一下
    2022-05-05
  • java并發(fā)學習之Executor源碼解析

    java并發(fā)學習之Executor源碼解析

    這篇文章主要為大家介紹了java并發(fā)學習之Executor源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • idea快速生成代碼配置的方法示例

    idea快速生成代碼配置的方法示例

    本文主要介紹了idea快速生成代碼配置的方法示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • SpringBoot集成消息隊列的項目實踐

    SpringBoot集成消息隊列的項目實踐

    本文主要介紹了SpringBoot集成消息隊列的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • idea多環(huán)境配置及問題解決方案

    idea多環(huán)境配置及問題解決方案

    這篇文章主要介紹了idea多環(huán)境配置及問題解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 基于Jenkins自動打包并部署docker環(huán)境的操作過程

    基于Jenkins自動打包并部署docker環(huán)境的操作過程

    這篇文章主要介紹了基于Jenkins自動打包并部署docker環(huán)境,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • Java實現(xiàn)自定義阻塞隊列

    Java實現(xiàn)自定義阻塞隊列

    這篇文章主要介紹了Java如何實現(xiàn)自定義阻塞隊列,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-10-10

最新評論