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