Service-Terminal:
package client;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private static FileOutputStream fileOutputStream;
private static InputStream inputStream;
public static void main(String[] args) {
try {
// 创建服务器对象并指定端口
ServerSocket serverSocket = new ServerSocket(8888);
// 接收客户端连接(阻塞式等待)
Socket socket = serverSocket.accept();
inputStream = socket.getInputStream();
fileOutputStream = new FileOutputStream(new File(
"transcript/poem-c.txt"));
int len = 0;
byte byteArr[] = new byte[1024];
while ((len = inputStream.read(byteArr)) != -1) {
fileOutputStream.write(byteArr, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fileOutputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Client:
package client;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* 客户端
*
* @author WanAkiko
*
*/
public class Client {
private static FileInputStream fileInputStream;
private static OutputStream outputStream;
public static void main(String[] args) {
try {
// 创建客户端并指定IP和端口
Socket socket = new Socket("127.0.0.1", 8888);
// 字节输出流执行功能代码
outputStream = socket.getOutputStream();
fileInputStream = new FileInputStream(new File("original/poem.txt"));
int len = 0;
byte byteArr[] = new byte[1024];
while ((len = fileInputStream.read(byteArr)) != -1) {
outputStream.write(byteArr, 0, len);
}
System.out.println("提示:文件已上传!");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fileInputStream.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Run example: