您的位置:首页 > 理论基础 > 计算机网络

用 TCP 协议写一个客户端和一个服务端,实现上传文件

2016-04-12 23:00 639 查看
package com.heima.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Test20_2 {

/**用 TCP 协议写一个客户端和一个服务端,实现上传文件
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(6060);
System.out.println("服务器绑定成功!绑定6060端口!");
while(true){
final Socket socket = server.accept();
new Thread(){
public void run(){
try {
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
PrintStream ps = new PrintStream(socket.getOutputStream());
String fileName = br.readLine();

File dir = new File("updata");
dir.mkdir();
File file = new File(dir,fileName);

if(file.exists()){
ps.println("存在!");
socket.close();
return;
}else{
ps.println("不存在!");
}

FileOutputStream fos = new FileOutputStream(file);
byte []arr = new byte[8192];
int len;
while((len = is.read(arr)) != -1){
fos.write(arr,0,len);
}
fos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}

}

}.start();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: