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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        刚刚漏了,不好意思,之前的是客户端的,还有服务器端的源码:
  1. package com.heima.test;

  2. import java.io.BufferedReader;
  3. import java.io.File;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.io.InputStreamReader;
  8. import java.io.PrintStream;
  9. import java.net.ServerSocket;
  10. import java.net.Socket;

  11. public class Test2_UpdateServer {

  12.         /**
  13.          * @param args
  14.          * @throws IOException
  15.          */
  16.         public static void main(String[] args) throws IOException {
  17.                 //3,建立多线程的服务器
  18.                 ServerSocket server = new ServerSocket(12345);
  19.                 System.out.println("服务器启动,绑定12345端口号");
  20.                
  21.                 //4.读取文件名
  22.                 while(true) {
  23.                         final Socket socket = server.accept();                                        //接受请求
  24.                         new Thread() {
  25.                                 public void run() {
  26.                                         try {
  27.                                                 InputStream is = socket.getInputStream();
  28.                                                 BufferedReader br = new BufferedReader(new InputStreamReader(is));
  29.                                                 PrintStream ps = new PrintStream(socket.getOutputStream());
  30.                                                 String fileName = br.readLine();
  31.                                                
  32.                                                 //5.判断文件是否存在, 将结果发回客户端
  33.                                                 File dir = new File("update");
  34.                                                 dir.mkdir();                                                                //创建文件夹
  35.                                                 File file = new File(dir,fileName);                        //封装成File对象
  36.                                                
  37.                                                 if(file.exists()) {                                                        //如果服务器已经存在这个文件
  38.                                                         ps.println("存在");                                                //将存在写给客户端
  39.                                                         socket.close();                                                        //关闭socket
  40.                                                         return;
  41.                                                 }else {
  42.                                                         ps.println("不存在");
  43.                                                 }
  44.                                                
  45.                                                 //8.定义FileOutputStream, 从网络读取数据, 存储到本地
  46.                                                 FileOutputStream fos = new FileOutputStream(file);
  47.                                                 byte[] arr = new byte[8192];
  48.                                                 int len;
  49.                                                
  50.                                                 while((len = is.read(arr)) != -1) {
  51.                                                         fos.write(arr, 0, len);
  52.                                                 }
  53.                                                
  54.                                                 fos.close();
  55.                                                 socket.close();
  56.                                         } catch (IOException e) {
  57.                                                
  58.                                                 e.printStackTrace();
  59.                                         }
  60.                                 }
  61.                         }.start();
  62.                 }
  63.                
  64.                
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马