package com.base.plan.utils;

import lombok.extern.slf4j.Slf4j;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

/**
 * 文件上传服务器工具类
 */
@Slf4j
public class FileUploadUtil {

    private final static String OUTPUT_FILEPATH = "/wxfzsjcj/output/yunkong";

    public static void outputToFile(byte[] jsonData,String filename){
        String filePath = OUTPUT_FILEPATH + filename;
        File file = new File(filePath);
        OutputStream fileOutputStream = null;
        try{
            File parentFile = file.getParentFile();
            //1.判断输出文件的父目录，如果不存在，就创建输出文件的父目录
            if(!parentFile.exists()){
                parentFile.mkdirs();
            }
            //2.判断同名文件是否已经生成，如果已经生成，则删除文件
            if(file.exists()){
                file.delete();
            }
            //3.创建输出文件并写入数据
            fileOutputStream = new FileOutputStream(filePath);
            fileOutputStream.write(jsonData);
            fileOutputStream.flush();
        }catch (IOException e){
            log.info("文件输出异常,异常原因为：{}",e.getMessage());
        }finally {
            //4.最后将输出流关闭
            if (fileOutputStream != null){
                try {
                    fileOutputStream.close();
                } catch (IOException e) {
                    log.info("文件流关闭异常：{}",e.getMessage());
                }
            }
        }
    }

}
