加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – ObjectOutputStream和PrintWriter冲突

发布时间:2020-12-14 19:19:08 所属栏目:Java 来源:网络整理
导读:我有服务器和客户端设置,这基本上是一个基本的文本电子邮件系统.我目前正在使用PrintWriter在服务器和客户端之间发送文本.我正在尝试创建一个基于附件的系统,为此我正在使用ObjectOutputStream. private static PrintWriter output;private static ObjectOut

我有服务器和客户端设置,这基本上是一个基本的文本电子邮件系统.我目前正在使用PrintWriter在服务器和客户端之间发送文本.我正在尝试创建一个基于附件的系统,为此我正在使用ObjectOutputStream.

private static PrintWriter output;
private static ObjectOutputStream outStream;

public ClientHandler(Socket socket) throws IOException
{
    client = socket;
    outStream = new ObjectOutputStream(client.getOutputStream());
    input = new Scanner(client.getInputStream());
    output = new PrintWriter(client.getOutputStream(),true);
}

我目前遇到的问题是,如果我尝试通过输出打印机发送文本,由于某种原因,额外的字符将被添加到发送的文本的开头,这意味着程序无法识别通过打印机传递给客户端的关键字.如果我注释掉outStream对象的创建,问题就会停止.

谁能给我任何建议来尝试解决这个冲突问题?

最佳答案
这个额外的文本来自对象输出流.

将ObjectOutputStream和PrintStream附加到同一输出流基本上是永远不会起作用的.您必须提出使用1或其他的解决方案.要仅使用PrintStream,您可以考虑将对象转换为JSON或XML.另一方面,您可以使用ObjectOutputStream并将您的字符串写入ObjectOutputStream

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读