根据当前系统创建临时目录

import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

/**
 * @author br.vst
 * @since 2025-04-24 星期四 16:47:50
 */
@Slf4j
public class TmpUtil {

    /**
     * 临时文件目录
     * <p>
     * 示例: <p>
     * dirName: classArchives     |  return D:\tmp\classArchives <p>
     * dirName: classArchives\\   |  return D:\tmp\classArchives\ <p>
     * dirName: classArchives\\\\ |  return D:\tmp\classArchives\\ <p>
     *
     * @param dirName 想要创建的临时目录名
     * @return 创建的临时目录
     * @throws IOException 临时目录创建失败时抛出此异常
     */
    public static String tmpRootDir(String dirName) throws IOException {
        String os = System.getProperty("os.name").toLowerCase();
        String rootDir;
        if (os.contains("win")) {
            rootDir = "D:\\tmp\\";
        } else if (os.contains("mac") || os.contains("linux")) {
            rootDir = "/tmp/";
        } else {
            throw new UnsupportedOperationException("Unsupported operating system: " + os);
        }
        rootDir += dirName;
        try {
            Files.createDirectories(Paths.get(rootDir));
        } catch (IOException e) {
            log.error("tmpRootDir {}临时目录创建失败!", rootDir, e);
            throw e;
        }
        return rootDir;
    }
}
posted @ 2025-04-24 16:53  wds09  阅读(25)  评论(0)    收藏  举报