我有一个 InputStream,我想读取每个字符,直到我从套接字中找到一个逗号“,”。
这是我的代码
private static Packet readPacket(InputStream is) throws Exception
{
int ch;
Packet p = new Packet();
String type = "";
while((ch = is.read()) != 44) //44 is the "," in ISO-8859-1 codification
{
if(ch == -1)
throw new IOException("EOF");
type += new String(ch, "ISO-8859-1"); //<----DOES NOT COMPILE
}
...
}
String 构造函数不接收 int,只接收字节数组。我阅读了文档,它说
read():从输入流中读取下一个字节的数据。
那么如何将此 int 转换为 byte 呢?它是否仅使用 int 的所有 32 位中的较低有效位(8 位)?
由于我使用 Java,我想保持它完全兼容平台(小端与大端等...)这里最好的方法是什么,为什么?
PS:我不想使用任何现成的类,如 DataInputStream 等......