在Java中,緩存流(Buffered Stream)通常用于提高I/O操作的效率。緩存流通過在內部緩沖一定量的數據來減少實際I/O操作的次數,從而提高性能。Java提供了兩種主要的緩存流:BufferedInputStream
和 BufferedOutputStream
。
以下是使用緩存流的一般步驟:
FileInputStream
或 FileOutputStream
),然后將其傳遞給緩存流對象的構造函數。new BufferedInputStream(inputStream)
。flush()
方法來刷新緩存流。close()
方法來關閉流。為了確保所有剩余的數據都被寫入原始流,建議在關閉 BufferedOutputStream
之前調用 flush()
方法。下面是一個簡單的示例,演示了如何使用 BufferedInputStream
和 BufferedOutputStream
來讀取和寫入文件:
import java.io.*;
public class BufferedStreamExample {
public static void main(String[] args) {
String inputFilePath = "input.txt";
String outputFilePath = "output.txt";
try (BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(inputFilePath));
BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(outputFilePath))) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
System.out.println("Data copied successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
在這個示例中,我們使用 BufferedInputStream
來讀取 input.txt
文件,并使用 BufferedOutputStream
將數據寫入 output.txt
文件。通過使用緩存流,我們可以提高文件復制的效率。