客户端上传文件和服务端保存文件

    技术2024-06-10  77

    public class Client{ public static void main(String[] args) throws UnknownHostException, IOException { Socket s=new Socket("127.0.0.1",8080); FileInputStream fi=new FileInputStream(new File("E:\\3.png")); OutputStream out =s.getOutputStream(); byte [] b=new byte[1024]; int len=0; while((len=fi.read(b))!=-1) { out.write(b,0,b.length); } s.shutdownOutput();//将结束符也一并发给服务器 fi.close();//本地流关闭 s.close();//客户端关闭 }

    客户端

    class T extends Thread{ Socket s; public T(Socket s) { this.s=s; // TODO 自动生成的构造函数存根 } public void run(){ try { InputStream in=s.getInputStream(); String st="\\"+"phpto"+System.currentTimeMillis(); File fire=new File("E:\\get"); if(!fire.exists()) { fire.mkdirs(); }//如果文件夹不存在创建文件夹 FileOutputStream fi=new FileOutputStream(fire+st+".png");//在文件夹下创建文件 int len; byte [] a=new byte[1024]; while((len=in.read(a))!=-1) { fi.write(a,0,a.length); } fi.close(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }//多线程可以允许多个客户端访问 public class server{ public static void main(String[] args) throws IOException { ServerSocket server=new ServerSocket(8080); while(true) { Socket so=server.accept();//服务器处在监听状态,得到客户端的请求后就会创建一个线程. T a=new T(so); a.start(); } } }
    Processed: 0.012, SQL: 9