A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 傅宇 中级黑马   /  2013-4-2 23:39  /  1724 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. //客户端
  2. public class JPGClient {
  3.         public static void main(String[] args) throws Exception {
  4.                 Socket s = new Socket("LocalHost", 10000);

  5.                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
  6.                                 "a.jpg"));
  7.                 BufferedOutputStream bufOut = new BufferedOutputStream(
  8.                                 s.getOutputStream());

  9.                 byte[] buf = new byte[1024];
  10.                 int len = 0;
  11.                 while ((len = bis.read(buf)) != -1) {
  12.                         bufOut.write(buf, 0, len);
  13.                 }
  14.                 s.shutdownOutput();

  15.                 BufferedReader bufIn = new BufferedReader(new InputStreamReader(
  16.                                 s.getInputStream()));
  17.                 String str = bufIn.readLine();
  18.                 System.out.println(str);
  19.                
  20.                 bis.close();
  21.                 s.close();
  22.         }
  23. }

  24. //服务端
  25. public class JPGServer {
  26.         public static void main(String[] args) throws Exception {
  27.                 ServerSocket ss = new ServerSocket(10000);
  28.                 Socket s = ss.accept();

  29.                 BufferedInputStream bisIn = new BufferedInputStream(s.getInputStream());
  30.                 BufferedOutputStream bos = new BufferedOutputStream(
  31.                                 new FileOutputStream("b.jpg"));

  32.                 byte[] buf = new byte[1024];
  33.                 int len = 0;
  34.                 while((len = bisIn.read(buf)) != -1){
  35.                         bos.write(buf, 0, len);
  36.                 }

  37.                 PrintWriter out = new PrintWriter(s.getOutputStream());
  38.                 out.println("图片上传成功");

  39.                 bos.close();
  40.                 s.close();
  41.                 ss.close();
  42.         }
  43. }
复制代码
文件上传成功,为什么读不到反馈信息?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 邓宫财 于 2013-4-3 00:01 编辑
  1.                 PrintWriter out = new PrintWriter(s.getOutputStream());
  2.                 out.println("图片上传成功");
  3.                 out.flush();//需要刷新才能发送到客户端
复制代码
如果你觉得刷新麻烦,可以通过PrintWriter的下面构造方法,
创建一个自动刷新的PrintWriter对象即可,
PrintWriter(OutputStream out, boolean autoFlush)
          通过现有的 OutputStream 创建新的 PrintWriter。

PrintWriter out = new PrintWriter(s.getOutputStream(), true);

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马