黑马程序员技术交流社区

标题: 使用TCP协议写一个可以上传文件的服务器和客户端。 [打印本页]

作者: 张会文    时间: 2013-1-4 11:23
标题: 使用TCP协议写一个可以上传文件的服务器和客户端。
本帖最后由 张会文 于 2013-1-4 13:34 编辑
  1. //这是毕老师的视频中代码,可是就是不知道怎么调试 ,首先这个代码有两个 入口 ,但是要留哪一个入口呢?还有在//服务器端的开头就有报错,彻底弄迷了.求帮忙.
  2. package com.itheima;
  3. import java.io.*;
  4. import java.net.*;
  5. /**
  6. * 9、 使用TCP协议写一个可以上传文件的服务器和客户端。
  7. * @author Administrator
  8. *客户端
  9. *1.服务断点
  10. *2.读取客户端已有数据
  11. *3.通过socket输出流将数据发送给服务端。
  12. *4.读取服务器端已有数据
  13. *5.关闭。
  14. */
  15. //客户端
  16. public class Test9 {
  17.         public Test9() {
  18.                
  19.         }

  20.         public static void main(String[] args) throws Exception{
  21.                 Socket s=new Socket("192.168.1.254",10007);
  22.                 FileInputStream fis=new FileInputStream("1.jpg");
  23.                 OutputStream out=s.getOutputStream();
  24.                 byte[] buf=new byte[1024];
  25.                 int len=0;
  26.                 while((len=fis.read(buf))!=-1){
  27.                         out.write(buf,0,len);
  28.                 }
  29.                 //告诉服务端数据以写完
  30.                 s.shutdownOutput();
  31.                 InputStream in=s.getInputStream();
  32.                 byte[] bufIn=new byte[1024];
  33.                 int num =in.read(bufIn);
  34.                 System.out.println(new String(bufIn,0,num));
  35.                 fis.close();
  36.                 s.close();
  37.                

  38.         }
  39.         
  40.         
  41.         //服务端
  42.         class PicServer{
  43.                 public static void main(String[]args) throws Exception {
  44.                         ServerSocket ss=new ServerSocket(10007);
  45.                         Socket s=ss.accept();
  46.                         InputStream in=s.getInputStream();
  47.                                        
  48.                         FileOutputStream fos=new FileOutputStream("sever.jpg");
  49.                         byte[]buf=new byte[1024];
  50.                         int len=0;
  51.                         while((len=in.read(buf))!=-1){
  52.                                 fos.write(buf,0,len);
  53.                         }
  54.                         OutputStream out=s.getOutputStream();
  55.                         out.write("上传成功!".getBytes());
  56.                         fos.close();
  57.                         s.close();
  58.                         ss.close();
  59.                 }
  60.         }

  61. }
复制代码

作者: 张会文    时间: 2013-1-4 13:35
此贴已解决!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2