All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.katool.redis.util.io.FileUtils Maven / Gradle / Ivy

The newest version!
/**
 * Title
 *
 * @ClassName: FileUtils
 * @Description:
 * @author: Karos
 * @date: 2023/1/2 1:52
 * @Blog: https://www.wzl1.top/
 */
package cn.katool.redis.util.io;
import cn.katool.Exception.ErrorCode;
import cn.katool.Exception.KaToolException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.IOException;
@Component
@Slf4j
public class FileUtils {
    public static File createTempFile(){
        return createTempFile(true);
    }
    public static File createTempFile(boolean isReCreate){
        int num=0;
        while (true) {
            try {
                File tempFile = File.createTempFile("Katool", (String) null, (File) null).getCanonicalFile();
                if (isReCreate==true){
                   tempFile.delete();
                   tempFile.createNewFile();
                }
                log.debug("【KaTool::FileUtils】 =>  Info: 临时文件创建成功");
                return tempFile;
            } catch (IOException e) {
                log.warn("【KaTool::FileUtils】 =>  Warn: 临时文件创建重试");
                if (num++>50){
                    log.error("【KaTool::FileUtils】 =>  Error: 临时文件创建失败");
                    throw new KaToolException(ErrorCode.FILE_ERROR);
                }
            }
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy