黑马程序员技术交流社区
标题:
tcp协议复制文件
[打印本页]
作者:
程有愿
时间:
2012-8-11 10:13
标题:
tcp协议复制文件
import java.net.*;
import java.io.*;
public class ClientText {
public static void main(String[] args) throws Exception
{
Socket s=new Socket("169.254.91.182",10007);
BufferedReader br=new BufferedReader(new FileReader("C:\\Users\\Administrator\\Desktop\\数鸭子.txt"));
// BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
String line=null;
while((line=br.readLine())!=null)
{
pw.println(line);
}
pw.println("over");
BufferedReader b=new BufferedReader(new InputStreamReader(s.getInputStream()));
String st=b.readLine();
System.out.println(st);
s.close();
br.close();
}
}
---------------------------------------------------------------------------------------------------------------------------------------------
import java.io.*;
import java.net.*;
public class ServerText {
public static void main(String[] args) throws Exception
{
ServerSocket ss=new ServerSocket(10007);
Socket s=ss.accept();
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip+"......conneted!");
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter pw=new PrintWriter(new FileWriter("C:\\Users\\Administrator\\Desktop\\数鸭子1.txt"));
String line=null;
while((line=br.readLine())!=null)
{
if(line=="over")
break;
pw.println(line);
}
PrintWriter pw1=new PrintWriter(s.getOutputStream(),true);
pw1.write("文件复制成功!");
s.close();
ss.close();
pw.close();
pw1.close();
}
}
我这2个类是写在2个java文件中的,为什么运行没有结果啊,复制不过来??求解释!
作者:
王程
时间:
2012-8-11 13:30
if(line=="over")
if(line.equals("over")),String类中的equals方法比较的是字符串的值
pw1.write("文件复制成功!");
pw1.println("文件复制成功!");//查阅PrintWriter的API知道它的构造方法public PrintWriter(OutputStream out,boolean autoFlush)中若autoFlush为true,则 println、printf 或 format 方法将刷新输出缓冲区,你用的是write方法,不会刷新的。
如果你的IP地址不是169.254.91.182,建议你改成127.0.0.1,这个是回环地址
作者:
程有愿
时间:
2012-8-11 17:17
en ,是哪里错了 谢谢了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2