1.client
1 public static void main(String[] args) throws IOException {
2 // 创建客户端Socket对象
3 Socket s = new Socket("192.168.12.92", 19191);
4
5 // 封装图片文件
6 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
7 "林青霞.jpg"));
8 // 封装通道内的流
9 BufferedOutputStream bos = new BufferedOutputStream(s.getOutputStream());
10
11 byte[] bys = new byte[1024];
12 int len = 0;
13 while ((len = bis.read(bys)) != -1) {
14 bos.write(bys, 0, len);
15 bos.flush();
16 }
17
18 s.shutdownOutput();
19
20 // 读取反馈
21 InputStream is = s.getInputStream();
22 byte[] bys2 = new byte[1024];
23 int len2 = is.read(bys2);
24 String client = new String(bys2, 0, len2);
25 System.out.println(client);
26
27 // 释放资源
28 bis.close();
29 s.close();
30 }
2.server
public static void main(String[] args) throws IOException {
// 创建服务器Socket对象
ServerSocket ss = new ServerSocket(19191);
// 监听客户端连接
Socket s = ss.accept();
// 封装通道内流
BufferedInputStream bis = new BufferedInputStream(s.getInputStream());
// 封装图片文件
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream("mn.jpg"));
byte[] bys = new byte[1024];
int len = 0;
while ((len = bis.read(bys)) != -1) {
bos.write(bys, 0, len);
bos.flush();
}
// 给一个反馈
OutputStream os = s.getOutputStream();
os.write("图片上传成功".getBytes());
bos.close();
s.close();
}
注意:IO流的操作流程不熟悉,查询api