共計 1668 個字符,預(yù)計需要花費 5 分鐘才能閱讀完成。
Java 文件流傳輸主要有以下幾種方法:
- 字節(jié)流傳輸:使用 InputStream 和 OutputStream 進行字節(jié)流傳輸。可以使用 InputStream 讀取源文件的字節(jié)數(shù)據(jù),然后使用 OutputStream 將字節(jié)數(shù)據(jù)寫入目標(biāo)文件。
// 讀取源文件的字節(jié)數(shù)據(jù)
InputStream inputStream = new FileInputStream("source.txt");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {// 將字節(jié)數(shù)據(jù)寫入目標(biāo)文件
outputStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outputStream.close();
- 字符流傳輸:使用 Reader 和 Writer 進行字符流傳輸。可以使用 Reader 讀取源文件的字符數(shù)據(jù),然后使用 Writer 將字符數(shù)據(jù)寫入目標(biāo)文件。
// 讀取源文件的字符數(shù)據(jù)
Reader reader = new FileReader("source.txt");
char[] buffer = new char[1024];
int charsRead;
while ((charsRead = reader.read(buffer)) != -1) {// 將字符數(shù)據(jù)寫入目標(biāo)文件
writer.write(buffer, 0, charsRead);
}
reader.close();
writer.close();
- 緩沖流傳輸:使用 BufferedInputStream 和 BufferedOutputStream 進行字節(jié)流傳輸,或使用 BufferedReader 和 BufferedWriter 進行字符流傳輸。緩沖流可以提高讀寫效率,適用于大文件傳輸。
// 使用字節(jié)流傳輸
InputStream inputStream = new FileInputStream("source.txt");
OutputStream outputStream = new FileOutputStream("target.txt");
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {bufferedOutputStream.write(buffer, 0, bytesRead);
}
bufferedInputStream.close();
bufferedOutputStream.close();
// 使用字符流傳輸
Reader reader = new FileReader("source.txt");
Writer writer = new FileWriter("target.txt");
BufferedReader bufferedReader = new BufferedReader(reader);
BufferedWriter bufferedWriter = new BufferedWriter(writer);
char[] buffer = new char[1024];
int charsRead;
while ((charsRead = bufferedReader.read(buffer)) != -1) {bufferedWriter.write(buffer, 0, charsRead);
}
bufferedReader.close();
bufferedWriter.close();
這些方法可以根據(jù)具體的需求選擇適合的方式進行文件傳輸。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完
發(fā)表至: Java
2023-12-13