如何在Java中将一个整数的字节字符串打印到套接字?

时间:2015-11-07 23:06:44

标签: java android sockets type-conversion printwriter

使用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”......

1 个答案:

答案 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)版本无法正常工作。