0
点赞
收藏
分享

微信扫一扫

Java网络编程---TCP实现上传文件

十里一走马 2022-02-17 阅读 27
  • 服务端

```java
```java
public class TcpServerDemo01 {
    public static void main(String[] args) throws Exception{
        //1.创建服务
        ServerSocket serverSocket = new ServerSocket(99);
        //2.监听连接
        Socket accept = serverSocket.accept();
        //3.获取输入流
        InputStream inputStream = accept.getInputStream();
        //4.输出文件
        FileOutputStream fileOutputStream = new FileOutputStream(new File("receive0.jpg"));
        byte[] bytes = new byte[1024];
        int len;
        while ((len=inputStream.read(bytes))!=-1){
            fileOutputStream.write(bytes,0,len);
        }
        //5.我已收到
        OutputStream outputStream = accept.getOutputStream();
        outputStream.write("我已收到".getBytes());
        //6.关闭
        outputStream.close();
        fileOutputStream.close();
        inputStream.close();
        accept.close();
        serverSocket.close();

    }
}
  • 客户端
public class TcpClientDemo01 {
    public static void main(String[] args) throws Exception{
        //1.创建Socket连接
        Socket socket = new Socket(InetAddress.getByName("127.0.0.1"),99);
        //2.创建输出流
        OutputStream outputStream = socket.getOutputStream();
        //3.读取文件
        FileInputStream fileInputStream = new FileInputStream(new File("dog.jpg"));
        //4.输出文件
        byte[] bytes = new byte[1024];
        int len;
        while ((len=fileInputStream.read(bytes))!=-1){
            outputStream.write(bytes,0,len);
        }
        //5.读取收到消息
        InputStream inputStream = socket.getInputStream();
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        byte[] bytes1 = new byte[1024];
        int len1;
        while ((len1=inputStream.read(bytes1))!=-1){
            byteArrayOutputStream.write(bytes1,0,len1);
        }
        System.out.println(byteArrayOutputStream.toString());

        //6.关闭
        byteArrayOutputStream.close();
        inputStream.close();
        fileInputStream.close();
        outputStream.close();
        socket.close();

    }
}
举报

相关推荐

0 条评论