teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2020/03/30 15:15

投稿

jimbe
jimbe

スコア13352

answer CHANGED
@@ -7,6 +7,8 @@
7
7
  なぜなら, 必ずしも buffer.size 分を読み込めるとは限らないからです.
8
8
  ですので, write も len バイト数分しか書き込まないようにするべきです.
9
9
 
10
+ (そしてこれは恐らく送信側も同じです.)
11
+
10
12
  > スレッドを1ミリ秒くらい止めると少し大きめのファイルでも転送できる
11
13
 
12
14
  のは, その間に buffer.size 分のデータが貯まるからでしょう.

1

リンク化

2020/03/30 15:15

投稿

jimbe
jimbe

スコア13352

answer CHANGED
@@ -3,7 +3,7 @@
3
3
  if (len == -1) break
4
4
  ous.write(buffer, 0, buffer.size)
5
5
  ```
6
- read は buffer に取り込んだバイト数を返します.
6
+ [read](https://docs.oracle.com/javase/jp/8/docs/api/java/io/InputStream.html#read-byte:A-) は buffer に取り込んだバイト数を返します.
7
7
  なぜなら, 必ずしも buffer.size 分を読み込めるとは限らないからです.
8
8
  ですので, write も len バイト数分しか書き込まないようにするべきです.
9
9