1. 程式人生 > 程式設計 >java檔案的簡單讀寫操作方法例項分析

java檔案的簡單讀寫操作方法例項分析

本文例項講述了java檔案的簡單讀寫操作方法。分享給大家供大家參考,具體如下:

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檔案,其中寫入了前一個路徑中的內容:

部分截圖如下:

java檔案的簡單讀寫操作方法例項分析

在D:\android\file_operation\test.txt路徑下,建立好的txt檔案:

java檔案的簡單讀寫操作方法例項分析

java檔案的簡單讀寫操作方法例項分析

更多關於java演算法相關內容感興趣的讀者可檢視本站專題:《Java檔案與目錄操作技巧彙總》、《Java資料結構與演算法教程》、《Java操作DOM節點技巧總結》和《Java快取操作技巧彙總》

希望本文所述對大家java程式設計有所幫助。