• socket的简单运用01上传下载文件


    pc机的远程主机程序

    send.java

    import java.awt.image.DataBuffer;
    import java.awt.image.DataBufferByte;
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.net.ServerSocket;
    import java.net.Socket;

    /**
    * filename : send.java
    * company : **** Limited (android) 2012-2015
    * compiler : eclipse 3.7.1
    * remark : TODO
    * created : 2012-3-5 weeds
    * changed : 后来者居下
    */

    /**
    * filename : TODO
    */
    public class send {

    /**
    *
    @param args
    */
    static File fname;
    static int port=8888;
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
    readFile("d.txt");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    public static void SendFile(String fileName)
    {
    fname=new File(fileName);
    try {
    fname.createNewFile();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }
    public static void readFile(String fileName) throws IOException
    {
    Socket cs=null;
    try{
    System.out.println("正在等待连接...");
    ServerSocket ss=new ServerSocket(port);
    while(true){
    String filePath="D:\\yc.rar";
    File fi=new File(filePath);
    System.out.println("文件长度是:"+(int)fi.length());
    cs=ss.accept();
    System.out.println("建立socket链接");
    DataInputStream dis=new DataInputStream(new BufferedInputStream(cs.getInputStream()));
    dis.readByte();
    DataInputStream fdata=new DataInputStream(new BufferedInputStream(new FileInputStream(filePath)));
    DataOutputStream ps=new DataOutputStream(cs.getOutputStream());
    ps.writeUTF(fi.getName());
    ps.flush();
    ps.writeLong((long)fi.length());
    ps.flush();
    byte[] b=new byte[102400];
    while(true){
    int read=0;
    if(fdata!=null){
    read=fdata.read(b);

    }
    if(read==-1){
    return ;
    }
    ps.write(b, 0, read);
    ps.flush();
    fdata.close();

    dis.close();
    cs.close();
    ss.close();
    }
    }

    }catch (Exception e) {
    // TODO: handle exception

    }
    }






    }
  • 相关阅读:
    python第一个项目:爬取一个网站的所有图片
    python学习笔记(3)
    python学习笔记(3)
    python学习笔记(2)
    python学习笔记(2)
    机器学习入门(1)
    centos7安装google-chrome
    linux 系统监控命令之 top-(转自 Howie的专栏)
    linux 磁盘管理命令之df-(转自 Howie的专栏)
    sizeof()用法汇总-(转自风雷)
  • 原文地址:https://www.cnblogs.com/weeds/p/2344849.html
Copyright © 2020-2023  润新知