Java Socket文件上传

客户端:

import java.io.FileInputStream;
import java.net.Socket;

/**
 * Created by 290248126 on 14-5-11.
 */
public class Client {
    public static void main(String[] args) throws Exception {
        FileInputStream fileInputStream = new FileInputStream("e:/1.png");
        Socket socket = new Socket("localhost", 8088);
        byte[] buff = new byte[1024];
        int length;
        while ((length = fileInputStream.read(buff)) != -1) {
            socket.getOutputStream().write(buff, 0, length);
        }
        //至关重要,告诉服务器,客户端已经发送完毕
        socket.shutdownOutput();
        //获取服务器发过来的提示信息
        length = socket.getInputStream().read(buff);
        System.out.println("服务器:" + new String(buff, 0, length));
        socket.close();
        fileInputStream.close();
    }
}

服务器:

import java.io.FileOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * Created by 290248126 on 14-5-11.
 */
public class Server {
    public static void main(String[] args) throws Exception {
        FileOutputStream fileOutputStream = new FileOutputStream("e:/2.png");
        ServerSocket serverSocket = new ServerSocket(8088);
        Socket socket = serverSocket.accept();
        byte[] buff = new byte[1024];
        int length;
        //客户端代码中调用了socket的shutdownOutput()方法,使返回-1,循环结束
        while ((length = socket.getInputStream().read(buff)) != -1) {
            fileOutputStream.write(buff, 0, length);
        }
        socket.getOutputStream().write("文件上传成功!".getBytes());

        fileOutputStream.close();
        socket.close();
        serverSocket.close();
    }
}

 

Java Socket文件上传,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。