黑马程序员技术交流社区
标题:
毕老师讲TCP时课堂上的例子中的一个问题
[打印本页]
作者:
阿牛
时间:
2012-3-30 14:49
标题:
毕老师讲TCP时课堂上的例子中的一个问题
毕老师课堂上的例子,往服务器上复制文件,我下面的程序我知道没有给它设置结束标志,但应该是已经在当前目录下有复制文件的,但为什么复制文件内容却为空!为什么呢?我在服务器端out.println(line);写入System.out.println(line);测试结果在控制台上能打印出复制文件,说明客户端是没问题的,服务器端代码哪有问题?大伙帮忙看看。
import java.net.*;
import java.io.*;
class textClient
{
public static void main(String[] args) throws Exception
{
Socket s=new Socket("192.168.0.4",10003);
BufferedReader bufr=
new BufferedReader(new FileReader("chatDemo.java"));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
String line=null;
while((line=bufr.readLine())!=null)
{
out.println(line);
}
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
String str=bufIn.readLine();
System.out.println(str);
bufr.close();
s.close();
}
}
class textServer
{
public static void main(String[] args) throws Exception
{
ServerSocket ss=new ServerSocket(10003);
Socket s=ss.accept();
BufferedReader bufr=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out=new PrintWriter(new FileWriter("co---py.java",true));
String line=null;
while((line=bufr.readLine())!=null)
{
//System.out.println(line); //可以在控制台上打印出要复制的文件来,说明客户端没问题呀,但问题在哪。。
out.println(line);
}
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
pw.println("upload sucess");
out.close();
ss.close();
s.close();
}
}
作者:
贠(yun)靖
时间:
2012-3-30 16:06
import java.net.*;
import java.io.*;
class textClient
{
public static void main(String[] args) throws Exception
{
Socket s=new Socket("192.168.0.4",10003);
BufferedReader bufr=
new BufferedReader(new FileReader("chatDemo.java"));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
String line=null;
while((line=bufr.readLine())!=null)
{
out.println(line);
}
s.shutdownOutput();
// 输出流的结束标记你没有给出 所以textServer里的readLine() 读是读到数据了 但是读不到结束标记 所以readLine 阻塞等待中
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
String str=bufIn.readLine();
System.out.println(str);
bufr.close();
s.close();
}
}
class textServer
{
public static void main(String[] args) throws Exception
{
ServerSocket ss=new ServerSocket(10003);
Socket s=ss.accept();
BufferedReader bufr=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out=new PrintWriter(new FileWriter("co---py.java",true));
String line=null;
while((line=bufr.readLine())!=null)
{
//System.out.println(line); //可以在控制台上打印出要复制的文件来,说明客户端没问题呀,但问题在哪。。
out.println(line);
}
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
pw.println("upload sucess");
out.close();
ss.close();
s.close();
}
}
作者:
阿牛
时间:
2012-3-30 17:03
贠(yun)靖 发表于 2012-3-30 16:06
import java.net.*;
import java.io.*;
class textClient
一语中的,搞定!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2