客户端:
// 创建客户端
Socket client = new Socket("127.0.0.1",9000);
// 要向服务端发送数据,就要获取输出流
OutputStream outputStream = client.getOutputStream();
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
// 读取项目本地资源 图片文件
String filePath = MyClient.class.getResource("/1.png").getPath();
System.out.println(filePath);
FileInputStream fileInputStream = new FileInputStream(filePath);
byte[] buffer = new byte[1024];
int length = 0;
while ((length=fileInputStream.read(buffer)) > 0){
bufferedOutputStream.write(buffer,0,length);
}
bufferedOutputStream.close();
fileInputStream.close();
outputStream.close(); //关闭输出流
client.close(); //关闭客户端
服务端:
// 服务端创建一个监听
ServerSocket serverSocket = new ServerSocket(9000);
// 监听客户端连接,这里我们暂时没有多线程
Socket socket = serverSocket.accept();
// 要想获取客户端发送过来的内容,就要得到 InputStream类 的输入流对象
InputStream inputStream = socket.getInputStream();
// 项目资源文件根目录 我们要做接收到的图片资源保存在这个目录下
String path = MyClient.class.getResource("/").getPath();
// 写文件的流
FileOutputStream fileOutputStream = new FileOutputStream(path+"server.png");
byte[] buffer = new byte[1024];
int length = 0;
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
while ((length=bufferedInputStream.read(buffer)) > 0){
fileOutputStream.write(buffer,0,length);
}
// 关闭
fileOutputStream.close();
bufferedInputStream.close();
inputStream.close();
socket.close();
serverSocket.close();