java檔案的簡單讀寫操作方法例項分析
阿新 • • 發佈:2020-05-09
本文例項講述了java檔案的簡單讀寫操作方法。分享給大家供大家參考,具體如下:
Java重要的兩個流
FileInputStream
該流用於從檔案中讀取資料。
1.可以使用字串型別的檔名來建立一個輸入流物件來讀取檔案。
例如:
String filename = "D:\\java執行環境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java"; InputStream in = new FileInputStream(filename);
2.也可以使用一個檔案物件來建立一個輸入流物件來讀取檔案。但是首先需要使用File()方法來建立以惡搞檔案物件,程式碼如下:
File f = new File("D:\\java執行環境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java"); InputStream in = new FileInputStream(f);
3.建立了一個InputStream物件以後,再來了解下它的一些方法。
- close():關閉檔案輸入流並且釋放與該流有關的所有系統資源。
- read(int r):該方法從InputStream物件讀取制定位元組的資料。返回為整數值。返回下一位元組的資料,如果已經到檔案尾則返回-1。
- read(byte[] r):該方法從輸入流讀取r.length長度的位元組。返回讀取的位元組數,如果是檔案尾則返回-1。
- available():該方法返回下一次對此輸入流呼叫的方法,可以不受阻塞地從此輸入流讀取的位元組數。返回一個整數值。(讀取剩下未讀的)
FileOutPutStream
該流用於建立一個檔案並且向檔案中寫資料。
如果該流再開啟檔案進行輸出前,目標檔案不存在,那麼該流會建立該檔案。
1.使用字串型別的檔名來建立一個輸出流物件
OutputStream f = new FileOutputStream("D:\\android\\file_operation\\test.txt");
2.也可以使用一個檔案物件來建立一個輸出流來寫檔案。首先用File()方法來建立一個檔案物件。
File filename_2 = new File("D:\\android\\file_operation\\test.txt"); OutputStream out = new FileOutputStream(filename_2);
3.建立了一個OutputStream物件以後,再來了解下它的一些方法。
- close():關閉此檔案輸入流並釋放與該流有關的所有系統資源。
- write(int w):該方法把指定的位元組寫到輸出流中。
- write(byte[] w):該方法把指定陣列中w.length長度的位元組寫入OutputStream中去。
例子
這是一個從我電腦的D:\java執行環境\ZHL\src\java2018_8_5五子棋\GobangMain.java路徑下獲取檔案中的內容,並且將其複製到這個路徑下D:\android\file_operation\test.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執行環境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java"; File filename_2 = new File("D:\\android\\file_operation\\test.txt"); //先從地址filename中去讀取檔案中的內容存入str中去 //再將str中內容寫入一個記事本中去,記事本的路徑自己給定 try { //建立流 InputStream in = new FileInputStream(filename); OutputStream out = new FileOutputStream(filename_2); try { //建立快取區域讀取位元組檔案 byte buffer[] = new byte[in.available()]; //讀取位元組檔案 in.read(buffer); //對位元組進行處理 String str = new String(buffer); System.out.println(str); //向該路徑寫入內容 out.write(str.getBytes()); //關閉流 in.close(); out.close(); } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e1) { e1.printStackTrace(); } } }
執行結果是在java中輸出前一個路徑中的內容還有在第二個路徑下建立自己命名好的txt檔案,其中寫入了前一個路徑中的內容:
部分截圖如下:
在D:\android\file_operation\test.txt路徑下,建立好的txt檔案:
更多關於java演算法相關內容感興趣的讀者可檢視本站專題:《Java檔案與目錄操作技巧彙總》、《Java資料結構與演算法教程》、《Java操作DOM節點技巧總結》和《Java快取操作技巧彙總》
希望本文所述對大家java程式設計有所幫助。