Java語言中的文件數(shù)據(jù)流示例詳解
文件數(shù)據(jù)流
在java語言中,進(jìn)行文件輸入和輸出時(shí),經(jīng)常會(huì)使用到FileIntputStream和FileOutputStream兩個(gè)文件數(shù)據(jù)流。它們分別是抽象類InputStream和抽象類OutputStream的子類。
FileInputStream
FileInputStream的構(gòu)造方法:
- FileInputStream(File file):通過打開一個(gè)到實(shí)際文件的連接來創(chuàng)建一個(gè)FileInputStream對(duì)象,該文件通過文件系統(tǒng)中的File對(duì)象file指定。
- FileInputStream(String name):通過打開一個(gè)到實(shí)際文件的連接來創(chuàng)建一個(gè)FileInputStream對(duì)象,該文件通過文件系統(tǒng)中的路徑名name來指定。
- 代碼示例:
FileInputStream inFile=new FileInputStream("xxx.xxx");//文件名.文件類型
FileOutputStream
FileOutputStream構(gòu)造方法:
- FileOutputStream(File file[ , boolean addFlag ]):創(chuàng)建一個(gè)向指定File對(duì)象表示的文件中寫入數(shù)據(jù)的文件輸出流。
- FileOutputStream(FileDescriptor fdObj):創(chuàng)建一個(gè)向指定文件描述符處寫入數(shù)據(jù)的輸出文件流,該文件描述表示一個(gè)文件系統(tǒng)中的某個(gè)實(shí)際文件的現(xiàn)有連接。
- FileOutputStream(String name[ ,boolean addFlag ]):創(chuàng)建一個(gè)向具有指定name的文件中寫入數(shù)據(jù)的輸出文件流
- 代碼示例:
FileOutputStream outFile=new FileOutputStream("xxx.xxx"); //文件名.文件類型,如 a.bat
舉個(gè)栗子
我們將一個(gè)文件中的數(shù)據(jù)復(fù)制到另一個(gè)文件
- 比如,將a.txt文件數(shù)據(jù)復(fù)制到b.txt
- 代碼示例
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class CopyA { public static void main(String[] args) { String curPath=System.getProperty ( "user.dir" );//得到用戶當(dāng)前工作目錄 System.out.println (curPath); try { //文件輸入流 FileInputStream inFile=new FileInputStream ( curPath+"/a.txt" ); //文件輸出流 FileOutputStream outFile =new FileOutputStream ( curPath+"/b.txt" ); //返回可以不受阻塞地從此文件輸入流中讀取的字節(jié)數(shù) while(inFile.available ()>0){ int ch=inFile.read (); //從輸入流中讀取字符,并返回 outFile.write (ch); //將字符ch寫到輸出流中 } inFile.close (); //關(guān)閉輸入流 outFile.close ();//關(guān)閉輸出流 }catch (FileNotFoundException e){ System.out.println ("文件無法打開"); }catch (IOException e){ System.out.println ("文件無法讀寫"); } } }
以上就是Java語言中的文件數(shù)據(jù)流示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Java語言文件數(shù)據(jù)流的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于Java中XML Namespace 命名空間問題
這篇文章主要介紹了Java中XML Namespace 命名空間,XML命名空間是由國(guó)際化資源標(biāo)識(shí)符 (IRI) 標(biāo)識(shí)的 XML 元素和屬性集合,該集合通常稱作 XML“詞匯”,對(duì)XML Namespace 命名空間相關(guān)知識(shí)感興趣的朋友一起看看吧2021-08-08SpringBoot集成Druid連接池連接MySQL8.0.11
這篇博客簡(jiǎn)單介紹spring boot集成druid連接池的簡(jiǎn)單配置和注意事項(xiàng),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07java前后端使用ajax數(shù)據(jù)交互問題(簡(jiǎn)單demo)
這篇文章主要介紹了java前后端使用ajax數(shù)據(jù)交互問題(簡(jiǎn)單demo),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-06-06SpringSecurity6.x多種登錄方式配置小結(jié)
SpringSecurity6.x變了很多寫法,本文就來介紹一下SpringSecurity6.x多種登錄方式配置小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12基于SpringBoot實(shí)現(xiàn)動(dòng)態(tài)配置數(shù)據(jù)庫(kù)的加載
這篇文章主要介紹了Spring?Boot?如何動(dòng)態(tài)配置數(shù)據(jù)庫(kù)的加載,現(xiàn)項(xiàng)目有一個(gè)需求,期望通過在application.yml配置文件中設(shè)置一個(gè)開關(guān),來決定是否加載數(shù)據(jù)庫(kù),文中通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下2024-10-10SpringBoot定時(shí)任務(wù)多線程實(shí)現(xiàn)示例
在真實(shí)的Java開發(fā)環(huán)境中,我們經(jīng)常會(huì)需要用到定時(shí)任務(wù)來幫助我們完成一些特殊的任務(wù),本文主要介紹了SpringBoot定時(shí)任務(wù)多線程實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12