Javaで入力ストリームをファイルに書き込む方法は?
Javaでは、入力ストリームからファイルに書き込む方法は多数あり、以下はその中で一般的に使用される方法の1つです。
- FileInputStream や BufferedInputStream などの入力ストリームオブジェクトを作成する。
- FileOutputStreamやBufferedOutputStreamなどの出力ストリームオブジェクトを作成し、書き込むファイルのパスを指定してください。
- データを読み込むためのバイト配列を作成します。
- 入力ストリームからデータを読み込み、読み込んだデータをバイト配列に格納する。
- バイト配列のデータをファイルへ書き込むには、OutputStreamを使用します。
- 入出力ストリームをクローズし、リソースを解放することにより、
例に示すコードは以下の通りです。
import java.io.*;
public class WriteInputStreamToFile {
public static void main(String[] args) {
String filePath = "path/to/output/file.txt";
try (InputStream inputStream = new FileInputStream("path/to/input/file.txt");
OutputStream outputStream = new FileOutputStream(filePath)) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
System.out.println("文件写入成功!");
} catch (IOException e) {
System.out.println("文件写入失败:" + e.getMessage());
}
}
}
上記の例では、FileInputStreamを使用して入力ファイルからデータをよみ、FileOutputStreamを使用して出力ファイルに書き込んでいます。読み込みと書き込みの操作はバイト配列を使って行われています。ファイルの終わりまでデータを読み書きするループ処理をしています。最後に、try-with-resources文を使って入力ストリームと出力ストリームの自動クローズを行っています。これはリソースを正しく解放するために必要です。