java文件的簡單讀寫操作方法實(shí)例分析
本文實(shí)例講述了java文件的簡單讀寫操作方法。分享給大家供大家參考,具體如下:
Java重要的兩個(gè)流
FileInputStream該流用于從文件中讀取數(shù)據(jù)。
1.可以使用字符串類型的文件名來創(chuàng)建一個(gè)輸入流對象來讀取文件。
例如:
String filename = 'D:java運(yùn)行環(huán)境ZHLsrcjava2018_8_5五子棋GobangMain.java';InputStream in = new FileInputStream(filename);
2.也可以使用一個(gè)文件對象來創(chuàng)建一個(gè)輸入流對象來讀取文件。但是首先需要使用File()方法來創(chuàng)建以惡搞文件對象,代碼如下:
File f = new File('D:java運(yùn)行環(huán)境ZHLsrcjava2018_8_5五子棋GobangMain.java');InputStream in = new FileInputStream(f);
3.創(chuàng)建了一個(gè)InputStream對象以后,再來了解下它的一些方法。
close():關(guān)閉文件輸入流并且釋放與該流有關(guān)的所有系統(tǒng)資源。 read(int r):該方法從InputStream對象讀取制定字節(jié)的數(shù)據(jù)。返回為整數(shù)值。返回下一字節(jié)的數(shù)據(jù),如果已經(jīng)到文件尾則返回-1。 read(byte[] r):該方法從輸入流讀取r.length長度的字節(jié)。返回讀取的字節(jié)數(shù),如果是文件尾則返回-1。 available():該方法返回下一次對此輸入流調(diào)用的方法,可以不受阻塞地從此輸入流讀取的字節(jié)數(shù)。返回一個(gè)整數(shù)值。(讀取剩下未讀的)FileOutPutStream該流用于創(chuàng)建一個(gè)文件并且向文件中寫數(shù)據(jù)。
如果該流再打開文件進(jìn)行輸出前,目標(biāo)文件不存在,那么該流會(huì)創(chuàng)建該文件。
1.使用字符串類型的文件名來創(chuàng)建一個(gè)輸出流對象
OutputStream f = new FileOutputStream('D:androidfile_operationtest.txt');
2.也可以使用一個(gè)文件對象來創(chuàng)建一個(gè)輸出流來寫文件。首先用File()方法來創(chuàng)建一個(gè)文件對象。
File filename_2 = new File('D:androidfile_operationtest.txt');OutputStream out = new FileOutputStream(filename_2);
3.創(chuàng)建了一個(gè)OutputStream對象以后,再來了解下它的一些方法。
close():關(guān)閉此文件輸入流并釋放與該流有關(guān)的所有系統(tǒng)資源。 write(int w):該方法把指定的字節(jié)寫到輸出流中。 write(byte[] w):該方法把指定數(shù)組中w.length長度的字節(jié)寫入OutputStream中去。例子這是一個(gè)從我電腦的D:java運(yùn)行環(huán)境ZHLsrcjava2018_8_5五子棋GobangMain.java路徑下獲取文件中的內(nèi)容,并且將其復(fù)制到這個(gè)路徑下D:androidfile_operationtest.txt中的txt文件中。
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;public class NoteDemo {public static void main(String[] args) {String filename = 'D:java運(yùn)行環(huán)境ZHLsrcjava2018_8_5五子棋GobangMain.java';File filename_2 = new File('D:androidfile_operationtest.txt');//先從地址filename中去讀取文件中的內(nèi)容存入str中去//再將str中內(nèi)容寫入一個(gè)記事本中去,記事本的路徑自己給定try { //創(chuàng)建流 InputStream in = new FileInputStream(filename); OutputStream out = new FileOutputStream(filename_2); try {//創(chuàng)建緩存區(qū)域讀取字節(jié)文件byte buffer[] = new byte[in.available()];//讀取字節(jié)文件in.read(buffer);//對字節(jié)進(jìn)行處理String str = new String(buffer);System.out.println(str);//向該路徑寫入內(nèi)容 out.write(str.getBytes());//關(guān)閉流in.close();out.close(); } catch (IOException e) {e.printStackTrace(); }} catch (FileNotFoundException e1) { e1.printStackTrace();} }}
運(yùn)行結(jié)果是在java中輸出前一個(gè)路徑中的內(nèi)容還有在第二個(gè)路徑下創(chuàng)建自己命名好的txt文件,其中寫入了前一個(gè)路徑中的內(nèi)容:
部分截圖如下:
在D:androidfile_operationtest.txt路徑下,創(chuàng)建好的txt文件:
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java文件與目錄操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章:
