UTFDataFormatException:格式错误的输入UTF格式

时间:2014-07-21 01:06:51

标签: java sockets

我在尝试通过UTF向我的套接字服务器发送文件之前发送一些信息,当我只发送文件名时:

   File fil=new File(filepath);  
   dos.writeUTF (fil.getName());

它工作正常,但当我向它添加一些自定义字符串时:

  dos.writeUTF((("@REQUEST@ROOM:"+roomName+"@FILENAME:"+fil.getName())));

我收到此错误:

 UTFDataFormatException: malformed input UTF Format
你能在这帮我吗?

1 个答案:

答案 0 :(得分:0)

写作时你没有得到那个例外。你在阅读时得到它:通常当输入中的下一个东西不是由writeUTF()产生时调用readUTF()。换句话说,应用程序协议错误。在这种情况下,它不是由您发布的内容生成的,而是由您尚未发布的内容生成的。

我不明白为什么你不在单独的写入中写入扩展的数据并在单独的读取中读取它,而不是给自己连接并然后再次拆分它的麻烦。

我也不知道所有额外的括号应该是什么。不要写冗余语法。