public static Runnable reader() throws IOException {
Log.e("Communication", "reader");
din = new DataInputStream(sock.getInputStream());
brdr = new BufferedReader(new InputStreamReader(din), 300);
boolean done = false;
while (!done) {
try {
char[] buffer = new char[200];
int anzahlZeichen = brdr.read(buffer, 0, 200);
String nachricht = new String(buffer, 0, anzahlZeichen);
byte[] in = nachricht.getBytes("ISO-8859-1");
for (int counter = 0; counter < nachricht.length(); counter++) {
System.out.println(in);
}
if (nachricht != null)
answer();
System.out.println(nachricht);
} catch (IOException ioe) {
done = true;
}
}
return null;
}
我想将字符串nachricht
转换为字节[] in
,但我不明白。有人可以帮忙吗?我只是收到数字,没有文字或字母。另一种方法也很受欢迎。我System.out.println(nachricht)
的所有内容都是[B@41c04778
的七倍,但我应该01 02 03 04 05 06 07
。
答案 0 :(得分:3)
此
[B@41c04778
表示您正在打印数组( [)字节( B )。
Java数组没有有用的toString()
实现。以上内容有助于理解,因为您将来也会这样做。其他原始类型存在明显的助记符。
答案 1 :(得分:2)
您的问题是行System.out.println(in)
应为System.out.println(in[counter]);