回答編集履歴
2
訂正
answer
CHANGED
@@ -54,24 +54,22 @@
|
|
54
54
|
---
|
55
55
|
|
56
56
|
(2020/07/09追記)
|
57
|
-
ServerSock.javaの受信部分、こんな感じ
|
57
|
+
ServerSock.javaの受信部分、こんな感じでByteArrayOutputStreamを活用すれば、受信するデータサイズに依存しないようにできるんじゃないかと思います。
|
58
58
|
|
59
59
|
```java
|
60
|
-
|
60
|
+
ByteArrayOutputStream byteos = new ByteArrayOutputStream();
|
61
61
|
byte[] tem = new byte[1024];
|
62
62
|
int a;
|
63
63
|
int count = 0;
|
64
64
|
|
65
65
|
//byte配列を読み込む
|
66
66
|
while ((a = input.read(tem)) > -1) {
|
67
|
-
|
67
|
+
byteos.write(tem, 0, a);
|
68
68
|
count += a;
|
69
69
|
}
|
70
70
|
input.close();
|
71
71
|
sock.close();
|
72
72
|
|
73
|
-
byte[] b =
|
73
|
+
byte[] b = byteos.toByteArray();
|
74
|
-
|
74
|
+
|
75
|
-
b[i] = c.get(i);
|
76
|
-
}
|
77
75
|
```
|
1
追記
answer
CHANGED
@@ -50,4 +50,28 @@
|
|
50
50
|
textView.setText("Succeeded! Sabrina Carpenter...");
|
51
51
|
}
|
52
52
|
}
|
53
|
+
```
|
54
|
+
---
|
55
|
+
|
56
|
+
(2020/07/09追記)
|
57
|
+
ServerSock.javaの受信部分、こんな感じにでもすれば受信するデータサイズに依存しないようにできるんじゃないかと思います。地味だけど。
|
58
|
+
|
59
|
+
```java
|
60
|
+
ArrayList<Byte> c = new ArrayList<>();
|
61
|
+
byte[] tem = new byte[1024];
|
62
|
+
int a;
|
63
|
+
int count = 0;
|
64
|
+
|
65
|
+
//byte配列を読み込む
|
66
|
+
while ((a = input.read(tem)) > -1) {
|
67
|
+
for (int i = 0; i < a; i++) c.add(tem[i]);
|
68
|
+
count += a;
|
69
|
+
}
|
70
|
+
input.close();
|
71
|
+
sock.close();
|
72
|
+
|
73
|
+
byte[] b = new byte[c.size()];
|
74
|
+
for (int i = 0; i < c.size(); i++) {
|
75
|
+
b[i] = c.get(i);
|
76
|
+
}
|
53
77
|
```
|