InputStreamをFileChannelに書き込むことはできますか?
java.nio.channels.FileChannelを使用してファイルを開き、ロックしてから、InputStreamを出力ファイルに書き込みます。InputStreamは、別のファイル、URL、ソケットなどで開くことができます。私は次のコードを書きました:
FileOutputStream outputStream = new FileOutputStream(outputFile);
FileChannel outputChannel = outputStream.getChannel();
FileLock lock = outputChannel.lock();
try {
outputChannel.transferFrom(???);
} finally {
lock.release();
outputChannel.close();
outputStream.close();
}
ただし、outputChannel.transferFrom(...)の最初の引数は、ReadableByteChannelオブジェクトを要求します。InputStreamを入力として使用しているため、必要なチャネルを作成するためのinputStream.getChannel()メソッドがありません。
InputStreamからReadableByteChannelを取得する方法はありますか?