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;
}
}