使用Java 8进行Android开发。
如何在base256中将整数打印到套接字?这个代码我一直在尝试打印5个字节......
PrintWriter out = new PrintWriter(
new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
int FileSize = 430200;
byte[] BytFileSize = ByteBuffer.allocate(4).putInt(FileSize).array();
String StrFileSize = new String(BytFileSize, "ISO-8859-1");
out.print(StrFileSize);
out.flush();
打印:
"00 06 c2 90 78"
预期是:
"00 06 90 78"
奇怪的是它在两个16位片段之间放了一个“c2”......
答案 0 :(得分:0)
这有效:
OutputStream out = socket.getOutputStream();
int FileSize = 430200;
byte[] BytFileSize = ByteBuffer.allocate(4).putInt(FileSize).array();
out.write(BytFileSize);
out.flush();
但我不确定为什么PrintWriter(BufferedWriter(OutputStreamWriter(OutputStream)))。print(String)版本无法正常工作。