黑马程序员技术交流社区

标题: 【进来】求救 帮我看看TCP这段代码 [打印本页]

作者: 梦想注定是孤独    时间: 2014-3-7 17:08
标题: 【进来】求救 帮我看看TCP这段代码
TCP上传图片的例子
求救啊!大脑现在蒙圈了,编译正常,运行就挂了  大家帮忙看看代码怎么回事
  1. import java.io.*;
  2. import java.net.*;
  3. class TCPsoket11
  4. {
  5.         public static void main(String[] args){
  6.         Socket s = null;
  7.         FileInputStream fis = null;
  8.         try
  9.         {
  10.                 s = new Socket("127.0.0.1",10245);
  11.                 fis = new FileInputStream("c\\1.jpg");
  12.                 OutputStream out= s.getOutputStream();
  13.                 int len = 0;
  14.                 byte[] but = new byte[1024];
  15.                 while ((len = fis.read(but))!=-1)
  16.                 {
  17.                         out.write(but,0,len);
  18.                 }
  19.                 s.shutdownOutput();
  20.                 BufferedReader bfr = new BufferedReader(new InputStreamReader(s.getInputStream()));
  21.                 String lin = bfr.readLine();
  22.                 System.out.println(lin);
  23.         }
  24.         catch (Exception e)
  25.         {
  26.                 System.out.println(e);
  27.         }

  28.         finally
  29.         {
  30.         try{if(fis!=null) fis.close();}catch (Exception e){System.out.println(e);}
  31.         try{if(s!=null) s.close();}catch (Exception e){System.out.println(e);}
  32.         }
  33.         }
  34. }

  35. class TCPSrever11 implements Runnable
  36. {
  37.         private Socket ss;
  38.         TCPSrever11(Socket ss){this.ss = ss;}
  39.         public void run()
  40.         {
  41.         File file = new File("D:\\updata");
  42.         if (!file.exists())
  43.                 file.mkdirs();
  44.         String FileName = "itheima"+System.currentTimeMillis()+".jpg";
  45.         File updata = new File(file,FileName);
  46.         FileOutputStream fos = null;
  47.         try
  48.         {
  49.                 fos = new FileOutputStream(updata);
  50.                 InputStream in = ss.getInputStream();
  51.                 int len = 0;
  52.                 byte[] but = new byte[1024];
  53.                 while((len = in.read(but))!=-1)
  54.                 {
  55.                         fos.write(but,0,len);
  56.                 }
  57.                 OutputStream out = ss.getOutputStream();
  58.                 out.write("上传成功".getBytes());
  59.         }
  60.         catch (Exception e)
  61.         {
  62.                 System.out.println(e);
  63.         }

  64.         finally
  65.         {
  66.         try{if(fos!=null)fos.close();}catch (Exception e){System.out.println(e);}
  67.         try{if(ss!=null)ss.close();}catch (Exception e){System.out.println(e);}

  68.         }
  69.        
  70.         }
  71. }

  72. class  TCPSocketSrever1
  73. {
  74.         public static void main(String[] args) throws Exception
  75.         {
  76.                 ServerSocket ss = new ServerSocket(10000);
  77.                 while (true)
  78.                 {
  79.                         Socket s = ss.accept();
  80.                         new Thread(new TCPSrever11(s)).start();
  81.                 }
  82.         }
  83. }
复制代码




作者: ╰つ    时间: 2014-3-7 18:25
fis = new FileInputStream("c\\1.jpg");
少了一个分号,修改成这样,你在试一试  fis = new FileInputStream("c:\\1.jpg");
作者: 梦想注定是孤独    时间: 2014-3-7 19:46
╰つ 发表于 2014-3-7 18:25
fis = new FileInputStream("c\\1.jpg");
少了一个分号,修改成这样,你在试一试  fis = new FileInputStre ...

不明白??
作者: 梦想注定是孤独    时间: 2014-3-7 19:52
╰つ 发表于 2014-3-7 18:25
fis = new FileInputStream("c\\1.jpg");
少了一个分号,修改成这样,你在试一试  fis = new FileInputStre ...

看到了!!!改了 还是一样报错  怎么破
作者: ixiangfeng    时间: 2014-3-7 20:35
梦想注定是孤独 发表于 2014-3-7 19:52
看到了!!!改了 还是一样报错  怎么破

很明显端口的问题啊  这样肯定连接失败啊
作者: 梦想注定是孤独    时间: 2014-3-7 20:48
ixiangfeng 发表于 2014-3-7 20:35
很明显端口的问题啊  这样肯定连接失败啊

还是不行,服务端都开启不了
作者: ixiangfeng    时间: 2014-3-7 20:57
梦想注定是孤独 发表于 2014-3-7 20:48
还是不行,服务端都开启不了

我运行过了,上传成功了、、、、你服务器的名字写得有点问题 TCPSocketSrever1(TCPSocketServer1) 是不是你运行的时候写错了? 发现好多地方写得都不规范啊
作者: 梦想注定是孤独    时间: 2014-3-7 21:07
ixiangfeng 发表于 2014-3-7 20:57
我运行过了,上传成功了、、、、你服务器的名字写得有点问题 TCPSocketSrever1(TCPSocketServer1) 是不 ...

我还是运行不了  提示我截了图



作者: ixiangfeng    时间: 2014-3-7 21:18
梦想注定是孤独 发表于 2014-3-7 21:07
我还是运行不了  提示我截了图

代码改过没有? 编译了没有? 去YYDemo看看有没有class文件
作者: 梦想注定是孤独    时间: 2014-3-7 21:20
ixiangfeng 发表于 2014-3-7 21:18
代码改过没有? 编译了没有? 去YYDemo看看有没有class文件

欧了  原来是保存到别的地方去了  谢谢你 嘿嘿
作者: ixiangfeng    时间: 2014-3-7 21:21
梦想注定是孤独 发表于 2014-3-7 21:20
欧了  原来是保存到别的地方去了  谢谢你 嘿嘿

好吧 不谢




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