亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

概念

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

因?yàn)閕o流是一個(gè)字節(jié)一個(gè)字節(jié)的傳入讀取的所以我們需要用到byte單字節(jié)變量來(lái)獲取長(zhǎng)度。如果獲取過(guò)多的內(nèi)容則需要使用對(duì)應(yīng)的數(shù)組。

io流對(duì)應(yīng)的方法

所有io流方法中都需要寫入相應(yīng)的文件操作路徑,且所有io流的方法都有一個(gè)共同的父類接口(Exception),所以我們?cè)谑褂脮r(shí)都需要鏈接相對(duì)應(yīng)的接口如:

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

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

聲明方式:

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

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

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

.createNewFile():當(dāng)且僅當(dāng)具有該名稱的文件不存在時(shí),將會(huì)在對(duì)應(yīng)的路徑中創(chuàng)建一個(gè)對(duì)應(yīng)的文件

.mkdirs():當(dāng)且僅當(dāng)具有該名稱的文件夾不存在時(shí),將會(huì)在對(duì)應(yīng)的路徑中創(chuàng)建一個(gè)對(duì)應(yīng)的文件夾

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

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

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

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

此外也有一些相對(duì)應(yīng)的查看文件的方法如名稱,路徑,大小

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

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

.getPath():將相應(yīng)文件的路徑轉(zhuǎn)換為字符串

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

.length():返回該文件的長(zhǎng)度,即內(nèi)部字節(jié)的長(zhǎng)度。

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

聲明方式:

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

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

byte[] data = new byte[fis.available()];//獲取文件內(nèi)容并以字節(jié)的方式存儲(chǔ)如byte[]數(shù)組中
System.out.println((char)fis.read());//讀出相對(duì)應(yīng)的字節(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é)數(shù),且必須用byte[]數(shù)組來(lái)存儲(chǔ)對(duì)應(yīng)的長(zhǎng)度,因?yàn)閎yte是用來(lái)對(duì)字節(jié)的專門處理,該方法讀取的是字節(jié)數(shù),雖然輸出時(shí)不會(huì)出錯(cuò),但方法循環(huán)中時(shí)會(huì)出錯(cuò)

.read():讀取該文件中的第一個(gè)字節(jié),因?yàn)槭亲止?jié)的格式所以我們需要用char(單字符變量)進(jìn)行轉(zhuǎn)換,才能將其輸出,注意每次只能讀取一個(gè),且不會(huì)讀出同一個(gè)位置的字節(jié),每讀完一個(gè)就會(huì)少一個(gè),如果讀完后繼續(xù)進(jìn)行讀取就會(huì)答應(yīng)出一個(gè)黑色邊框的空格。也可以通過(guò)需求去調(diào)用相應(yīng)下標(biāo)下的字節(jié)就如上述的最后一行代碼。

fis.close();

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

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

聲明方式:

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

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

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

.write():將指定的內(nèi)容存入文件輸出流再由輸出流存入文件中,存入時(shí)我們需要將文件格式轉(zhuǎn)換為電腦可讀懂的方式,8進(jìn)制字節(jié),所以我們需要將存儲(chǔ)的內(nèi)容用byte強(qiáng)轉(zhuǎn)為8進(jìn)制字節(jié)

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

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

FileInputStream流是就已經(jīng)默認(rèn)打開(kāi)了輸入流,當(dāng)我們不使用它是應(yīng)將其關(guān)閉,就好比我們進(jìn)入了放假需要開(kāi)門,當(dāng)我們進(jìn)入拿走需要的文件后離開(kāi)房間要關(guān)門一樣,否則它會(huì)一直開(kāi)著占用電腦性能

總結(jié)

他們?nèi)齻€(gè)有一個(gè)共同的父類接口Exception類,所以只要們調(diào)用其中一個(gè)方法時(shí)就必須鏈接Exception類,我們?cè)谶M(jìn)行文件輸入與輸出流傳輸時(shí)都會(huì)去打開(kāi)對(duì)應(yīng)的流,所以當(dāng)我們對(duì)流的運(yùn)用完畢后就需要.close()去關(guān)閉流。對(duì)于流基本操作方式不管是度還是寫需要遵循:

1.打開(kāi)一個(gè)流

2.讀或?qū)憙?nèi)容

3.關(guān)閉流這三個(gè)基本操作。

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

相關(guān)文章

  • Java Socket編程(四) 重復(fù)和并發(fā)服務(wù)器

    Java Socket編程(四) 重復(fù)和并發(fā)服務(wù)器

    Java Socket編程(四) 重復(fù)和并發(fā)服務(wù)器...
    2006-12-12
  • 詳解Spring加載Properties配置文件的四種方式

    詳解Spring加載Properties配置文件的四種方式

    這篇文章主要介紹了詳解Spring加載Properties配置文件的四種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Java數(shù)組中的元素刪除并實(shí)現(xiàn)向前移的代碼

    Java數(shù)組中的元素刪除并實(shí)現(xiàn)向前移的代碼

    這篇文章主要介紹了Java數(shù)組中的元素刪除并實(shí)現(xiàn)向前移的代碼的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • Java中Stream流的常用方法代碼示例

    Java中Stream流的常用方法代碼示例

    這篇文章主要介紹了Java中Stream流的常用方法代碼示例,Stream類中每一個(gè)方法都對(duì)應(yīng)集合上的一種操作,將真正的函數(shù)式編程引入到Java中,能 讓代碼更加簡(jiǎn)潔,極大地簡(jiǎn)化了集合的處理操作,提高了開(kāi)發(fā)的效率和生產(chǎn)力,需要的朋友可以參考下
    2023-10-10
  • java編程隊(duì)列數(shù)據(jù)結(jié)構(gòu)代碼示例

    java編程隊(duì)列數(shù)據(jù)結(jié)構(gòu)代碼示例

    這篇文章主要介紹了java編程隊(duì)列數(shù)據(jù)結(jié)構(gòu)代碼示例,簡(jiǎn)單介紹了隊(duì)列的相關(guān)基礎(chǔ)知識(shí),然后通過(guò)實(shí)例向大家展示其實(shí)現(xiàn)方法,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java將Word文件轉(zhuǎn)為OFD文件

    Java將Word文件轉(zhuǎn)為OFD文件

    大家好,本篇文章主要講的是Java將Word文件轉(zhuǎn)為OFD文件,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Java實(shí)現(xiàn)讀寫文件功能的代碼分享

    Java實(shí)現(xiàn)讀寫文件功能的代碼分享

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語(yǔ)言實(shí)現(xiàn)讀寫文件功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-08-08
  • springMvc請(qǐng)求的跳轉(zhuǎn)和傳值的方法

    springMvc請(qǐng)求的跳轉(zhuǎn)和傳值的方法

    本篇文章主要介紹了springMvc請(qǐng)求的跳轉(zhuǎn)和傳值的方法,這里整理了幾種跳轉(zhuǎn)方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • SpringCloud Feign的使用簡(jiǎn)介

    SpringCloud Feign的使用簡(jiǎn)介

    這篇文章主要介紹了SpringCloud Feign的使用簡(jiǎn)介,幫助大家更好的理解和學(xué)習(xí)使用SpringCloud,感興趣的朋友可以了解下
    2021-04-04
  • Java編程基于快速排序的三個(gè)算法題實(shí)例代碼

    Java編程基于快速排序的三個(gè)算法題實(shí)例代碼

    這篇文章主要介紹了Java編程基于快速排序的三個(gè)算法題實(shí)例代碼,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評(píng)論