对Stream读写时要先后用到两种读取方式怎么办?
有关java.net.Socket和java.io
server要传输数据给client,想先用ObjectOutputStream的方式读写一个对象,之后改用BufferedWriter读写。client处用对应的相反方式。
可我要不只能用ObjectOutputStream读写,要不只能用BufferedWriter读写。应该怎么办?
server处大概是这样的:
java
oos = new ObjectOutputStream(client.getOutputStream()); oos.writeObject(dc); // oos.close(); bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); bw.write("hahaha"); bw.flush(); while(true){ line=br.readLine(); if(line != null){ ExecuteInput(line); } }
client处大概是这样的:
java
ois = new ObjectInputStream(socket.getInputStream()); XXX dc = (XXX) ois.readObject(); // ois.close(); String line; while(true){ try { // System.out.println("000000"); line=br.readLine(); // System.out.println("111111"); if(line != null) System.out.println("aaaa "+line); } catch (IOException e) { System.out.println("222222"); e.printStackTrace(); } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看没人回答我就去stackoverflow上提了问(http://stackoverflow.com/questions/27737268/java-sockets-read-write-stream-in-two-different-ways-one-by-one)
他们的回答是说这ObjectOutputStream和BufferedWrite不能混用,只能用其中之一。