1. 程式人生 > >tcp版文件上傳

tcp版文件上傳

目的 demo tde flush rac tcp pre get 客戶

客戶端

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;

/**
 * 
 * @author WangShuang
 *
 */
public class ClientDemo {
    public static void main(String[] args) throws SocketException {
        Socket socket = null;
        BufferedReader br =null;
        try {
            InetAddress byName = InetAddress.getByName("192.168.1.102");

            //創建客戶端socket服務,指定目的主機和端口
             socket = new Socket(byName,9999);

            //為了發送數據,應該獲取socket流中的輸出流,將數據寫到該流中,通過網絡發送給服務端
            BufferedWriter bwsocket = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            //將硬盤中的文件讀取到流中
            br = new BufferedReader(new FileReader("c:\\文件上傳.txt"));

            String  readLine = null;
            while((readLine=br.readLine())!=null){
                bwsocket.write(readLine);
                bwsocket.newLine();
                bwsocket.flush();
            }
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                br.close();
                //關閉客戶端資源
                socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}

服務端

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class ServiceDemo {
    public static void main(String[] args) {
        //創建服務端socket服務
        ServerSocket serverSocket=null;
        Socket socket =null;
        BufferedWriter bw =null;
        try {
            serverSocket = new ServerSocket(9999);
            //獲取客戶端socket對象
            socket = serverSocket.accept();

            BufferedReader brsocket = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            bw = new BufferedWriter(new FileWriter("d:\\文件上傳.txt"));
            String readLine=null;
            while ((readLine=brsocket.readLine())!=null) {
                bw.write(readLine);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                bw.close();
                socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

tcp版文件上傳