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

Java詳解IO流創(chuàng)建讀取與寫入操作

 更新時間:2022年05月13日 14:51:34   作者:花~盜  
這篇文章主要介紹了Java IO流,同時也介紹了流中的一些相關的內容,并且通過大量的案例供大家理解。最后通過一些經典的案例幫助大家對前面所學的知識做了一個綜合的應用,需要的朋友可以參考一下

概念

IO流可以初步的理解為數據間的傳輸,我們將一組數據入:1234567,將他們從hello文件中轉入haha文件中,使用程序的方法進行轉入的話則需要一個一個的傳入,即為一個字節(jié)一個字節(jié)的傳輸,我們每次只能傳入或讀取一個字節(jié),這就是io流的大致流程,io流對任何類型的文件都可以進行讀取。如:文本文件,圖片,歌曲mp3,視頻等等的。

因為io流是一個字節(jié)一個字節(jié)的傳入讀取的所以我們需要用到byte單字節(jié)變量來獲取長度。如果獲取過多的內容則需要使用對應的數組。

io流對應的方法

所有io流方法中都需要寫入相應的文件操作路徑,且所有io流的方法都有一個共同的父類接口(Exception),所以我們在使用時都需要鏈接相對應的接口如:

public static void main(String[] args) throws Exception

一、File方法(創(chuàng)建文件)

聲明方式:

File file1 = new File("D:\\java制作\\高級特性\\hehe.txt");

File方法主要用于創(chuàng)建文件,且該方法在使用的時候必須填寫需要被創(chuàng)建的文件的具體路徑,我們需要將對應的文件類型后綴也寫出來,如果沒有路徑的話默認是文件夾的格式,創(chuàng)建文件的方法如下:

file.createNewFile();//創(chuàng)造相對應的文件
file.mkdirs();//創(chuàng)建文件夾

.createNewFile():當且僅當具有該名稱的文件不存在時,將會在對應的路徑中創(chuàng)建一個對應的文件

.mkdirs():當且僅當具有該名稱的文件夾不存在時,將會在對應的路徑中創(chuàng)建一個對應的文件夾

File方法既然有創(chuàng)建文件的方式那么自然也少不了刪除于判斷文件是否存在的方法。

Boolean decide = file.exists();//判斷該文件是否存在
file.delete();//刪除該文件

.exists():測試此路徑表示的文件是否存在,如果存在則返回true否則返回false

.delete():刪除由此抽象路徑下的文件或文件夾

此外也有一些相對應的查看文件的方法如名稱,路徑,大小

System.out.println("文件名稱:"+file.getName());
System.out.println("相對路徑:"+file.getPath());
System.out.println("絕對路徑:"+file.getAbsolutePath());
System.out.println("文件大小:"+file.length()+"字節(jié)");

.getName():根據英語詞義就可得知該方法是獲取相應文件的文件名。

.getPath():將相應文件的路徑轉換為字符串

.getAbsolutePath():將相應文件的絕對路徑轉換為字符串格式,與上述方法相對比更加精確。

.length():返回該文件的長度,即內部字節(jié)的長度。

二、FileInputStream(獲取字節(jié)方法)輸入流

聲明方式:

FileInputStream fis = new FileInputStream("D:\\java制作\\高級特性\\hello.txt");

FileInputStream用于讀取文件內字節(jié)內容的方法,且該方法在使用的時候必須填寫需要被創(chuàng)建的文件的具體路徑,我們平常對內部內容進行讀寫的方式如下:

byte[] data = new byte[fis.available()];//獲取文件內容并以字節(jié)的方式存儲如byte[]數組中
System.out.println((char)fis.read());//讀出相對應的字節(jié)并以char的方式輸出
//使用循環(huán)遍歷出全部的字節(jié)
byte[] data = new byte[fis.available()];
for (int i = 0; i < data.length; i++) {
    System.out.print((char) fis.read());
}
System.out.println((char)fis.read(data,0,data.length));

.available():讀取剩余的字節(jié)數,且必須用byte[]數組來存儲對應的長度,因為byte是用來對字節(jié)的專門處理,該方法讀取的是字節(jié)數,雖然輸出時不會出錯,但方法循環(huán)中時會出錯

.read():讀取該文件中的第一個字節(jié),因為是字節(jié)的格式所以我們需要用char(單字符變量)進行轉換,才能將其輸出,注意每次只能讀取一個,且不會讀出同一個位置的字節(jié),每讀完一個就會少一個,如果讀完后繼續(xù)進行讀取就會答應出一個黑色邊框的空格。也可以通過需求去調用相應下標下的字節(jié)就如上述的最后一行代碼。

fis.close();

.close():關閉此文件的輸入流并釋放與流相關聯(lián)的任何系統(tǒng)資源,在我們引用FileInputStream流是就已經默認打開了輸入流,當我們不使用它是應將其關閉,就好比我們進入了放假需要開門,當我們進入拿走需要的文件后離開房間要關門一樣,否則它會一直開著占用電腦性能

三、FileOutputStream(寫入字節(jié)方法)輸出流

聲明方式:

FileOutputStream fos = new FileOutputStream("D:\\java制作\\高級特性\\hehe.txt");

FileInputStream用于讀取文件內字節(jié)內容的方法,且該方法在使用的時候必須填寫需要被創(chuàng)建的文件的具體路徑,我們平常對內部內容進行寫入的方式如下:

String str = "天天向上";//將需要進行存儲的內容存入變量
byte[] words = str.getBytes();//將字符串變?yōu)樽止?jié)方式進行存儲
fos.write(words);//最后通過字節(jié)的方式進行存儲

.write():將指定的內容存入文件輸出流再由輸出流存入文件中,存入時我們需要將文件格式轉換為電腦可讀懂的方式,8進制字節(jié),所以我們需要將存儲的內容用byte強轉為8進制字節(jié)

fos.close();//關閉輸出流

.close():關閉此文件的輸出流并釋放與流相關聯(lián)的任何系統(tǒng)資源,在我們引用

FileInputStream流是就已經默認打開了輸入流,當我們不使用它是應將其關閉,就好比我們進入了放假需要開門,當我們進入拿走需要的文件后離開房間要關門一樣,否則它會一直開著占用電腦性能

總結

他們三個有一個共同的父類接口Exception類,所以只要們調用其中一個方法時就必須鏈接Exception類,我們在進行文件輸入與輸出流傳輸時都會去打開對應的流,所以當我們對流的運用完畢后就需要.close()去關閉流。對于流基本操作方式不管是度還是寫需要遵循:

1.打開一個流

2.讀或寫內容

3.關閉流這三個基本操作。

到此這篇關于Java詳解IO流創(chuàng)建讀取與寫入操作的文章就介紹到這了,更多相關Java IO流內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java方法重寫_動力節(jié)點Java學院整理

    Java方法重寫_動力節(jié)點Java學院整理

    在Java和其他一些高級面向對象的編程語言中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類并不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫。方法重寫又稱方法覆蓋,下文給大家介紹java方法重寫及重寫規(guī)則,一起學習吧
    2017-04-04
  • JAVA集合框架工具類自定義Collections集合方法

    JAVA集合框架工具類自定義Collections集合方法

    今天小編就為大家分享一篇關于JAVA集合框架工具類自定義Collections集合方法,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • mybatis的mapper.xml中resultMap標簽的使用詳解

    mybatis的mapper.xml中resultMap標簽的使用詳解

    這篇文章主要介紹了mybatis的mapper.xml中resultMap標簽的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Spring AOP中的JDK和CGLib動態(tài)代理哪個效率更高?

    Spring AOP中的JDK和CGLib動態(tài)代理哪個效率更高?

    今天小編就為大家分享一篇關于Spring AOP中的JDK和CGLib動態(tài)代理哪個效率更高?,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • idea中使用Inputstream流導致中文亂碼解決方法

    idea中使用Inputstream流導致中文亂碼解決方法

    很多朋友遇到一個措手不及的問題當idea中使用Inputstream流導致中文亂碼及Java FileInputStream讀中文亂碼問題,針對這兩個問題很多朋友不知道該如何解決,下面小編把解決方案分享給大家供大家參考
    2021-05-05
  • Java實現(xiàn)公眾號功能、關注及消息推送實例代碼

    Java實現(xiàn)公眾號功能、關注及消息推送實例代碼

    公眾號開發(fā)近些年是一個比較熱門的方向,下面這篇文章主要給大家介紹了關于Java實現(xiàn)公眾號功能、關注及消息推送的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • Java中的靜態(tài)綁定和動態(tài)綁定詳細介紹

    Java中的靜態(tài)綁定和動態(tài)綁定詳細介紹

    這篇文章主要介紹了Java中的靜態(tài)綁定和動態(tài)綁定詳細介紹,在Java中存在兩種綁定方式,一種為靜態(tài)綁定,又稱作早期綁定,另一種就是動態(tài)綁定,亦稱為后期綁定,需要的朋友可以參考下
    2015-01-01
  • Java 集合系列(二)ArrayList詳解

    Java 集合系列(二)ArrayList詳解

    這篇文章主要介紹了Java集合系列ArrayList,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 詳解Spring AOP 實現(xiàn)“切面式”valid校驗

    詳解Spring AOP 實現(xiàn)“切面式”valid校驗

    本篇文章主要介紹了詳解Spring AOP 實現(xiàn)“切面式”valid校驗,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • java實現(xiàn)多人多牌數比較游戲

    java實現(xiàn)多人多牌數比較游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)多人多牌數比較游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評論

义乌市| 玉田县| 峨边| 罗城| 武义县| 长寿区| 仁化县| 本溪| 盖州市| 兴山县| 衡山县| 肥东县| 青海省| 德州市| 兴国县| 花垣县| 泗阳县| 潞城市| 鹿邑县| 昭觉县| 顺义区| 山西省| 广东省| 景洪市| 甘德县| 宾阳县| 饶阳县| 全州县| 抚松县| 银川市| 保山市| 隆尧县| 平远县| 甘肃省| 沙雅县| 安图县| 塘沽区| 汉寿县| 探索| 东海县| 安阳县|