zoukankan      html  css  js  c++  java
  • 上传服务器(多线程)

    package demo05;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.util.Random;
    
    public class UPload implements Runnable {
        private Socket s;
        private FileOutputStream fos;
    
        public UPload(Socket s) {
            this.s = s;
        }
    
        public void run() {
            try {
                // 3.获取输入流
                InputStream in = s.getInputStream();
                // 4.获取文件夹,如果不存在就创建
                File f = new File("f:\aaa");
                if (!f.exists()) {
                    f.mkdirs();
                }
                // 5.创建文件输出流
                String filename = "oracle" + System.currentTimeMillis() + new Random().nextInt(99999) + ".png";
                fos = new FileOutputStream(f + File.separator + filename);
                // 6.写入数据
                byte[] b = new byte[1024];
                int len = 0;
                while ((len = in.read(b)) != -1) {
                    fos.write(b, 0, len);
                }
                
                // 服务器给客服端回复(上传成功)
                OutputStream out = s.getOutputStream();
                out.write("上传成功".getBytes());
    
            } catch (Exception ex) {
                
                ex.printStackTrace();
                
            } finally {
                
                try {
                    // 释放资源
                    fos.close();
                    s.close();
                } catch (IOException e) {
                    
                    e.printStackTrace();
                }
    
            }
    
        }
    
    }
    package demo05;
    
    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class test {
        public static void main(String[] args) throws IOException {
            ServerSocket ser =new ServerSocket(8888);
            while(true){
            Socket s =ser.accept();
            UPload u =new UPload(s);
            Thread t =new Thread(u);
            t.start();
            }
            
        }
    }
  • 相关阅读:
    使用JS对中文字符串进行utf8的Base64编码
    subprocess理解
    25组新鲜出炉的有用图标集
    jQuery UI 1.8.9 发布
    正则匹配拼音
    jQuery Mobile 教程 (1)
    10款精选的用于构建良好易用性网站的jQuery插件
    Html 5 video/audio 格式转换 ogg
    10个有用的jquery 图片插件
    asp.net MVC 权限设计(续)
  • 原文地址:https://www.cnblogs.com/Jxliu/p/9253430.html
Copyright © 2011-2022 走看看