InputStream和OutputStream

image.png
    void fileSave(byte[] a) {
        File log_file = new File(fileDir);
        // 校验文件是否存在
        if (!log_file.exists()) {
            // 写权限
            log_file.setWritable(true, false);
            log_file.mkdirs();
        }
        // 新建文件名
        String fileFileName = UUID.randomUUID() + ".pdf";
        log.debug("fileFileName:{}", fileFileName);
        FileOutputStream fo = null;
        try {
            fo = new FileOutputStream(fileDir + "/" + fileFileName);
            // 从指定的字节数组开始到当前输出流关闭写入len字节
            fo.write(a, 0, a.length);
            fo.flush();
        } catch (Exception e) {
            log.error("上传文件异常", e);
        } finally {
            if (fo != null) {
                try {
                    fo.close();
                } catch (IOException e) {
                    log.error("文件写入操作异常");
                }
            }
        }
    }

    public byte[] fileGet() {
        byte[] data = null;
        try {
            //创建字节输入流
            FileInputStream is = new FileInputStream("C://Users//Lenovo//Documents//仓单pdf-空白背书.pdf");
            //严谨起见,一定要加上这个判断,不要返回data[]长度为0的数组指针
            if (is.available() == 0) {
                return data;
            }
            data = new byte[is.available()];
            is.read(data);
            is.close();
            return data;
        } catch (IOException e) {
            return data;
        }
    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容