Javaファイルストリームの転送方法は?

javaファイルストリーム転送には主に以下の方法があります。

  1. InputStreamとOutputStreamを使用してバイトストリームを送信します。InputStreamを使用してソースファイルのバイトデータを読み取り、OutputStreamを使用してバイトデータをターゲットファイルに書き込みます。
// 读取源文件的字节数据
InputStream inputStream = new FileInputStream("source.txt");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
    // 将字节数据写入目标文件
    outputStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outputStream.close();
  1. 文字ストリームの転送:リーダーとライターを使用して文字ストリームを転送します。リーダーを使用してソースファイルの文字データをよみこみ、ライターを使用して文字データをターゲットファイルに書き込みます。
// 读取源文件的字符数据
Reader reader = new FileReader("source.txt");
char[] buffer = new char[1024];
int charsRead;
while ((charsRead = reader.read(buffer)) != -1) {
    // 将字符数据写入目标文件
    writer.write(buffer, 0, charsRead);
}
reader.close();
writer.close();
  1. バッファストリーム転送: BufferedInputStreamとBufferedOutputStreamを使用し、バイトストリームを転送するか、BufferedReaderとBufferedWriterを使用して、キャラクターストリームを転送します。バッファストリームは、読み書き効率を向上し、大規模ファイルの転送に適しています。
// 使用字节流传输
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();

具体的な要求に応じて、ファイル転送を行うのに適した方法を選択できる手法です。

bannerAds