回答編集履歴
1
追記
test
CHANGED
@@ -9,3 +9,27 @@
|
|
9
9
|
配列だけでこの処理書こうとすると面倒くさいので、
|
10
10
|
|
11
11
|
ByteBufferクラスを使うといいと思います。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
----- 追記 -----
|
16
|
+
|
17
|
+
実際書いてみたら配列でも十分処理できますね。
|
18
|
+
|
19
|
+
ByteBufferクラスは習得が面倒くさいので、
|
20
|
+
|
21
|
+
ドキュメントとにらめっこして理解できるようになったら使ってみる程度で考えてください。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
5MB分だけ送信して1MBを次の処理に繰り越し、ここが肝になる処理なのですが、
|
26
|
+
|
27
|
+
ByteBufferクラスなら、5MBの切り出しはgetメソッド、1MBの繰り越しはcompactメソッド。
|
28
|
+
|
29
|
+
配列なら、5MBの切り出し、1MBの繰り越し、両方ともSystem.arraycopyで出来ます。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
ただし、配列の場合は次の読み込みを行う際、offsetを1MB分進めておかないと、
|
34
|
+
|
35
|
+
繰り越したデータを上書きすることになるので気を付けてください。
|