在Java中,緩存流(Buffered Stream)通常用于提高I/O操作的效率。緩存流通過在內(nèi)部緩沖一定量的數(shù)據(jù)來減少實(shí)際I/O操作的次數(shù),從而提高性能。Java提供了兩種主要的緩存流:BufferedInputStream
和 BufferedOutputStream
。
以下是使用緩存流的一般步驟:
FileInputStream
或 FileOutputStream
),然后將其傳遞給緩存流對(duì)象的構(gòu)造函數(shù)。new BufferedInputStream(inputStream)
。flush()
方法來刷新緩存流。close()
方法來關(guān)閉流。為了確保所有剩余的數(shù)據(jù)都被寫入原始流,建議在關(guān)閉 BufferedOutputStream
之前調(diào)用 flush()
方法。下面是一個(gè)簡單的示例,演示了如何使用 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();
}
}
}
在這個(gè)示例中,我們使用 BufferedInputStream
來讀取 input.txt
文件,并使用 BufferedOutputStream
將數(shù)據(jù)寫入 output.txt
文件。通過使用緩存流,我們可以提高文件復(fù)制的效率。