毕老师课堂上的例子,往服务器上复制文件,我下面的程序我知道没有给它设置结束标志,但应该是已经在当前目录下有复制文件的,但为什么复制文件内容却为空!为什么呢?我在服务器端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();
}
}
|