黑马程序员技术交流社区
标题:
这个程序错在哪
[打印本页]
作者:
哇塞哇
时间:
2014-6-23 08:03
标题:
这个程序错在哪
本帖最后由 哇塞哇 于 2014-6-27 10:23 编辑
import java.io.*;
import java.net.*;
public class Client{
public static void main(String [] args)throws Exception{
Socket o=new Socket("192.168.1.102",7777);
System.out.println("请输入字符串");
BufferedReader d=new BufferedReader(
new InputStreamReader(System.in));
BufferedReader dd=new BufferedReader(new InputStreamReader(o.getInputStream()));
BufferedWriter ddd=new BufferedWriter(new OutputStreamWriter(o.getOutputStream()));
String line=d.readLine();
ddd.write(line);
o.close();
//d.close();
//dd.close();
//ddd.close();
}
}[code]import java.io.*;
import java.net.*;
public class Server{
public static void main(String [] args)throws Exception{
ServerSocket s=new ServerSocket(7777);
Socket o=s.accept();
InputStream k=o.getInputStream();
OutputStream k1=o.getOutputStream();
BufferedReader dd=new BufferedReader(new InputStreamReader(o.getInputStream()));
BufferedWriter ddd=new BufferedWriter(new OutputStreamWriter(o.getOutputStream()));
String line=null;
line=dd.readLine();
System.out.println(line);
o.close();
// kk.close();
//kkk.close();
}
}
复制代码
[/code]
这个程序从客户端输入一串字符,在服务端总是打印null出来,这是为什么
作者:
18353666072
时间:
2014-6-23 08:24
这是那一章节的内容啊
作者:
wuguiye
时间:
2014-6-23 08:48
char[] =new char[1024]这句没有带变量,这句对了也没用,BufferedWriter 和BufferedReader本来就有带缓冲区了。
作者:
wuguiye
时间:
2014-6-23 08:49
还有就是你对流的定义不清晰,一些流定义了没用到,而且字符流readline之后要flush
作者:
肥洋洋
时间:
2014-6-23 11:44
dd要嘛要flush,要嘛就要close,你这样只是把数据存在缓冲区了,没读出来
作者:
哇塞哇
时间:
2014-6-23 13:00
求解答
dd.jpg
(24.12 KB, 下载次数: 14)
下载附件
2014-6-23 12:58 上传
加了flush,编译出现这样的错误,求完整的代码
作者:
龙健
时间:
2014-6-23 16:19
明显的没有刷新缓冲区,读取键盘输入的时候,读到的字符存入缓冲区中,你这里没有刷新缓冲区,也没有关闭缓冲区,缓冲区里的数据不会跑到输出流中,除非缓冲区“满”了,试试刷新或者关闭
作者:
师偃
时间:
2014-6-23 16:56
写入流用flush()~
作者:
哇塞哇
时间:
2014-6-23 17:13
怎样把上面两个文件,写myeclipse中,并运行
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2