使用字节流、客户端读取图片发送至服务端保存

来源:互联网 发布:剑网三秀太捏脸数据 编辑:程序博客网 时间:2024/06/05 04:03

客户端:

            // 创建客户端            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();
阅读全文
0 0
原创粉丝点击