-1

重複の可能性:
Javaで構造化バイナリファイルを読み取るための最良の方法

私は以前ACプログラマーでした。cでは、std ioから(テキストファイルだけでなく)バイナリデータを転送したい場合は、に到達するまで何度も何度も呼び出すことgetchar()で転送できます。私の質問は、Javaでも同じようにできるということですか?何度も何度も電話をかけることはできますか?そうでない場合、私は何ができますか? ありがとうございました!putchar()EOFreadline()writeline()

4

1 に答える 1

5

いいえ、との呼び出しでは絶対に何も使用しないでください。これらはテキストデータ用です。バイナリデータを転送する場合は、andを使用する必要があります。名前に含まれるものや名前に含まれるものはありません。バイナリデータをテキストに変換すると、データが失われることがほぼ確実になります。readLine()writeLine()InputStreamOutputStreamReaderWriter

ただし、一度にデータのブロックをコピーするだけで済みます。

public static void copy(InputStream input, OutputStream output)
    throws IOException {
   byte[] buffer = new byte[16 * 1024]; // For example...
   int bytesRead;
   while ((bytesRead = input.read(buffer)) > 0) {
     output.write(buffer, 0, bytesRead);
   }
}
于 2013-01-14T19:53:42.487 に答える