第三章 综合案例
3.1 文件上传案例
** 文件上传分析图解
1.【客户端】输入流,从硬盘读取文件数据到程序中
2.【客户端】输出流,写出文件数据到服务器
3.【服务端】输入流,读取文件数据到服务端程序
4.【服务端】输出流,写出文件数据到服务器硬盘中。
package tian;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
/*
* 文件上传案例的客户端:读取本地文件,上传到服务器,读取服务器回写的数据
* 明确:数据源:C:\Users\tianer\Downloads\2.jpg
* 目的地:服务器
* 实现步骤:
* 1.创建一个本地的字节输入流FileInputStream对象,构造方法中绑定要读取的数据源
* 2.创建一个客户端Socket对象,构造方法中绑定服务器的IP地址和端口号
* 3.使用Socket中的方法getOutputStream.获取网络字节输出流OutputStream对象
* 4.使用给本地字节输入流FileInputStream对象中的方法read,读取本地的文件
* 5.使用网络字节输出流OutputStream中的方法read。把读取到的文件上传到服务器
* 6.使用Socket.InputStream(),获取网络字节输入流InputStream对象
* 7.使用网络字节输入流中的方法read 读取服务器回写的数据
* 8.释放资源(FileInputStream,Socket)
*
* */
public class TCPClient {
public static void main(String[] args) throws IOException {
// 1.创建一个本地的字节输入流FileInputStream对象,构造方法中绑定要读取的数据源
FileInputStream fis = new FileInputStream("C:\\Users\\tianer\\Downloads\\2.jpg");
// 2.创建一个客户端Socket对象,构造方法中绑定服务器的IP地址和端口号
Socket socket = new Socket("127.0.0.1", 8888);
// 3.使用Socket中的方法getOutputStream.获取网络字节输出流OutputStream对象
OutputStream os