java 網絡流 TCP Socket和SeverSocket 上傳文件(字節流)

客戶端:

import java.io.*;
import java.net.DatagramPacket;
import java.net.Socket;
public class TCPSocket {
    public static void main(String[] args)  throws IOException{

        File file=new File("/Users/mac/java/kwd/1.avi");

        //客戶端socket
        Socket s=new Socket("127.0.0.1",8888);

        //輸入的文件
        FileInputStream fin=new FileInputStream(file);

        //設置數據包
        byte[] bytes=new byte[1024];

        //socket 發送流
        OutputStream out=s.getOutputStream();


        //輸入數據
        int len=0;
        while((len=fin.read(bytes))!=-1)
        {
           out.write(bytes,0,len);
        }
        s.close();
        fin.close();
    }
}


服務端:

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

public class TCPSeverSocket {
    public static void main(String[] args)  throws IOException{

        File file=new File("/Users/mac/java/fwq/up.avi");
        //服務端socket
        ServerSocket s=new ServerSocket(8888);

        //獲取客戶端socket
        Socket ss=s.accept();

        //獲取客戶端的讀取流
        InputStream in=ss.getInputStream();

        //設置數據包
        byte[] bytes=new byte[1024];

        //輸出文件
        FileOutputStream fout=new FileOutputStream(file);
        //輸入數據
        int len=0;
        while((len=in.read(bytes))!=-1)
        {
            fout.write(bytes,0,len);
        }
        s.close();
        ss.close();
        fout.close();
    }
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章