java没有一个既可以从流中读取String和byte[],又可以向流中写入String和byte[]的类,这是有原因的吗?如果有必要在HTTP中同时传输byte[]和String,该怎么办?
字符编码可能存在潜在问题。特别是,Java在内部表示UTF-16中的字符串,这可能不是网络连接另一端的人所期望的。由此产生的行为是一致的,但不一定是普通程序员所期望的。
获取字符串的byte[]
表示并不困难。只需使用String.getBytes()
,或允许您指定编码的重载版本。
确实如此。DataInputStream
和ObjectInputStream
都有:字符串的readLine()和readUTF(),字节的read(byte[],…)。