0

何らかの理由で、このコードは入力からすべての '\n' 文字を変更し、新しい出力ファイルで '\n\r' に置き換えています。私はいくつかのウェブサイトを参照していますが、まだ理解していません..誰かアイデアがありますか? どうもありがとう!

Socket connectionSocket = sData.accept();
InputStream inputStream = connectionSocket.getInputStream();
BufferedInputStream inputBufferedStream = new BufferedInputStream(inputStream);
FileOutputStream outputStream = new FileOutputStream("/home/greg/1");


     byte[] buffer = new byte[1024];
     long count = 0;
     int n = 0;
     while ((n = inputBufferedStream.read(buffer))>=0) {
         outputStream.write(buffer, 0, n);
         count += n;
     }
    outputStream.close();
  }
4

1 に答える 1

1

特定のコードはそれを行っていません。おそらく、それら\r\nはすでに入力ソースにあっただけです。

たとえばBufferedReader#readLine()、改行を食べてPrintWriter#println()、プラットフォームのデフォルトの改行を追加するなどを使用してそれを書いている場合にのみ発生します。おそらく相手もそうしているのではないでしょうか?結局のところ、バイナリ データにはReader/Writerを使用しないでください。変形する場合があります。InputStream/を使用OutputStreamします。

于 2010-09-25T20:27:46.643 に答える