FileOutputStreamをFileInputStreamに変換する最も簡単な方法は何ですか(コードは素晴らしいでしょう)?FileOutputStream into FileInputStream
答えて
これはあなたを助けるかもしれない:
はhttp://ostermiller.org/convert_java_outputstream_inputstream.html
この記事では、3つの可能性に言及している:
- は再び
- 使用パイプ
- それを読んでバイト配列に完全な出力を書き込みます循環バイトバッファ(そのページでホストされているライブラリの一部)を使用してください。 それを他の方法でラウンド(出力への入力)を行うだけで、参照のための210
、:
は、Apache CommonsのIOとの簡単な解決策は次のようになります。
IOUtils.copyLarge(InputStream, OutputStream)
またはちょうどあなたの場合ファイルをコピーしたい:
FileUtils.copyFile(inFile,outFile);
Apache Commons IOを使用したくない場合は、あなたが与えられた@Thomas例を使用できる場合
public static long copyLarge(InputStream input, OutputStream output) throws IOException
{
byte[] buffer = new byte[4096];
long count = 0L;
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
count += n;
}
return count;
}
リンクは壊れていますが、ここでも元の回答を見つけることができます: https://web.archive.org/web /20110929161214/http://ostermiller.org/convert_java_outputstream_inputstream.html – GregT
、そうでない場合はあなたが行うことができます:copyLarge
法Tませ
として:java2s.com
EDITから
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class FileInputOutputExample {
public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream("in.txt");
OutputStream os = new FileOutputStream("out.txt");
int c;
while ((c = is.read()) != -1) {
System.out.print((char) c);
os.write(c);
}
is.close();
os.close();
}
}
例@トーマスは彼の答えを削除しました、私はこれを処理するためのリファレンスコモンズIOアプローチを追加するだけです:
IOUtils.copy(InputStream is, OutputStream os)
書き込み後(ディスクへのフラッシュなし)の内容を読み込めるようにするには、ByteArrayOutputStreamとByteArrayInputStreamを使用します。 ByteArrayOutputStreamへの書き込みが終了すると、基礎となるバイトデータを取得し、ByteArrayInputStreamを使用してそれを読み戻すことができます。
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
// do any output onto outStream you need
ByteArrayInputStream inStream = new ByteArrayInputStream(outStream.toByteArray());
// you can read back the output with inStream now
バッファー(プロデューサー/コンシューマータイプの問題)が必要な場合は、javaのnioパッケージに付属のバッファーを調べてください。
私はFileOutputStreamを受け取ります。私が欲しいのはそれを読むことです。
あなたは確かにOutputStream
から読むことができません。私はあなたが書いているファイルからFileOutputStream
によって読むことを意味していると思います。私はあなたがそれを行うこともできるとは思わない。 FileOutputStream
は、書き込まれるファイルへの参照を保持していないようです。あなたがする必要がどのような
はFile
またはパス(String
)はFileOutputStream
に渡されたものを発見し、新しいFileInputStream
を作成するために、その同じFile
またはString
を使用しています。
私は彼がFileDescriptorを得るためにFileOutputStream.getFD()を使うことができたと思います。その周囲にFileInputStreamを構築するよりも。あなたが同じFileDescriptorから同時に読み書きできるかどうかは分かりません。 –
@ S.L.Barth:良い点、私は実際にそれを見ていましたが、 'FileInputStream'は' FileDescriptor'を取るコンストラクタを持っているという事実を見逃しました。 –
- 1. FileInputStreamとFileOutputStreamを使用してファイルを大量にアップロード
- 2. FileOutPutstreamにFileInputStreamの一部を書き込む
- 3. FileOutputStream webdata =新しいFileOutputStream();
- 4. FileInputStreamとFileOutputStreamをffmpegに渡してトランスコードする(JAVE-Javaオーディオビデオエンコーディングを使用)
- 5. FileOutputStreamとByteArrayOutputStream
- 6. androidのFileInputStreamのFileNotFoundEception
- 7. ID3-TAG JAVA FileOutputStream
- 8. FileOutputStreamのFileNotFound例外
- 9. Java FileInputStreamメモリ不足問題
- 10. android FileInputStreamがクラッシュする
- 11. FileOutputStreamがファイルに書き込まない
- 12. FileInputStreamの誤差はSonarQube
- 13. FileInputStreamでFileInputStreamを使用してもFileInputStreamでエラーが発生する
- 14. FileOutputStream 0バイトを書き出す
- 15. FileInputStreamとObjectInputStream
- 16. AndroidクローズFileInputStream
- 17. FileItem inputStream to FileInputStream
- 18. FileOutputStreamについてのご意見
- 19. FileWriterとJavaのFileOutputStream
- 20. のJavaのFileOutputStreamは
- 21. FileOutputStreamを黙って
- 22. コンストラクタXSSFWorkbook(FileInputStreamには)
- 23. FileInputStreamのJavaFXボタン?オーケー
- 24. Java GzipInputStream into DataInputStream
- 25. Android FileInputStream read()txtファイルから文字列
- 26. Android:FileNotFoundExceptionをFileInputStreamを使用して使用
- 27. たFileOutputStream変更` 0A`バイト
- 28. FileOutputStreamからファイルを作成
- 29. Char into into byte? (Java)の
- 30. ソナー:try-with-resourcesを使用してFileOutputStreamを閉じる方法
あなたはここで何を求めているのか理解していますか? 「変換する」とは何を意味しますか?彼らは基本的に反対のものです。 1つは読書用であり、もう1つは書込み用です。 'FileOutputStream'で書いているファイルを読み込もうとしていますか? –
正確に何をしたいですか? FileOutputStreamはファイルに書き込みを行い、FileInputStreamはファイルから読み込みます。私は、前者が後者にどのように変換できるのか見当たりません。 –
私はFileOutputStreamを受け取ります。私が欲しいのはそれを読むことです。 – Pen