我有服务器和客户端设置,这基本上是一个基本的文本电子邮件系统.我目前正在使用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
原文地址:https://www.jb51.cc/java/438065.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。