简单的问题。
dis.read()
和有什么区别dis.readUTF()
?
例如,dis.read()
只读取字节数组和dis.readUTF()
访问String
类型。
这是正确的吗?
如果服务器有实现dis.readUTF()
,它不能读取字节流?
@Override
public void run() {
// TODO Auto-generated method stub
while(mEnabled)
{
if (!mFileReceive) {
try {
// read
String tmpStr = dis.readUTF();
// here come `dis.readUTF()` <- it is can not read byte array?
mStringBuffer += tmpStr;
if (tmpStr.length() >= 4096)
continue;
System.out.println("Print : " + mStringBuffer);
parse = new ParseJSON(null, mStringBuffer.toString());
// Ack Message
if (mAckEnabled) {
mFileName = "{opcode:0x06,ACK:C" + parse.getParsedData().get("ACK").substring(1) + "}";
dos.writeUTF(mFileName);
dos.flush();
System.out.println("Ack Message Send : " + mFileName);
mFileName = null;
}
if (parse.getParsedData().get("opcode").equals("155")) {
mFileReceive = true;
}
parse.clear();
parse = null;
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("ServerThread disconnect");
break;
}