什麼是 Java 輸入/輸出?
Java 輸入/輸出(I/O)用於處理輸入並產生檔案形式的輸出。 Java 使用流的概念,它允許快速 I/O 操作。
使用java.io套件,可以輕鬆執行所有輸入輸出操作。
使用輸入/輸出在 Java 中處理檔案
直播
流可以定義為由位元組組成的資料序列。它被稱為溪流,因為它就像一條持續流動的水流。 Stream 有兩種類型:
輸入流:用於從來源讀取資料。這可以是檔案、陣列、週邊設備或套接字。
輸出流:用於將資料寫入目的地。這可以是檔案、陣列、週邊設備或套接字。
輸入流的流程如下圖所示:
位元組流
Java位元組流用於執行8位元組的輸入和輸出。以下是使用這兩個類別將輸入檔案複製到輸出檔案的範例 -
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class LearnStream { public static void main(String[] args) throws IOException { var directory = "D://sample/stream/"; var fileInput = new FileInputStream(directory+"input.txt"); var fileOutput = new FileOutputStream(directory+"output.txt"); try{ int i; while((i= fileInput.read())!=-1){ fileOutput.write(i); } } catch (IOException e) { throw new RuntimeException(e); } } }
現在我們有一個包含以下內容的檔案 input.txt
Dimas Priyandi Software Developer Java Angular Spring Boot
運行程序,我們得到一個名為output.txt的文件,其中包含以下內容
Dimas Priyandi Software Developer Java Angular Spring Boot
範例
為了更好地理解檔案輸入流和檔案輸出流,讓我們建立一個新範例,其中有一個名為 count.txt 的輸入檔案。
count.txt內容如下:
100 90 80 70 60 50 40 30 20 10 0
當檔案輸入流從檔案 count.txt 讀取數值資料時,我們會將其儲存在陣列中,然後執行求和操作來計算資料的總和。請依照以下程式碼操作:
import java.io.*; public class LeanCount { public static void main(String[] args) throws FileNotFoundException { var directory = "D://sample/stream/"; var fileInput = new FileInputStream(directory+"count.txt"); var fileOutput = new FileOutputStream(directory+"sum.txt"); Integer sum = 0; try{ var reader = new BufferedReader(new InputStreamReader(fileInput)); var outputWriter = new BufferedWriter(new OutputStreamWriter(fileOutput)); String line; while((line=reader.readLine()) !=null){ sum+=Integer.parseInt(line); } reader.close(); outputWriter.write(sum.toString()); outputWriter.close(); } catch (IOException e) { throw new RuntimeException(e); } } }
輸出:
550
說明:
總結
Java 的 I/O 流提供了一種處理文件操作的強大方法。透過使用 InputStream 和 OutputStream 及其緩衝對應項,您可以有效地讀取和寫入檔案。
以上是使用 Java Streams 進行檔案輸入/輸出的技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!