我坚持没有文件夹的事实。
private static File createNewTempDir() {
File baseDir = new File(System.getProperty("java.io.tmpdir"));
String baseNamePrefix = System.currentTimeMillis() + "_" + Math.random() + "-";
LOG.info(System.getProperty("java.io.tmpdir"));
File tempDir = new File(baseDir, baseNamePrefix + "0");
LOG.info(tempDir.getAbsolutePath());
tempDir.mkdirs();
if (tempDir.exists()) {
LOG.info("I would be happy!");
}
else {
LOG.info("No folder there");
}
return tempDir;
}
这有什么问题吗?我得到的日志是那里没有文件夹...
最佳答案
您的代码很好,但是您的条件是错误的:
if (tempDir.exists()) {
LOG.info("I would be happy!");
}
else {
LOG.info("No folder there");
}
该文件夹确实已创建,您可以通过获取路径并在资源管理器中打开进行检查。
编辑:它至少在Windows上有效。我整理了一下:
public static void main() {
File baseDir = new File(System.getProperty("java.io.tmpdir"));
File tempDir = new File(baseDir, "test0");
System.err.println(tempDir.getAbsolutePath());
tempDir.mkdir();
System.err.println("is it a dir? " + tempDir.isDirectory());
System.err.println("does it exist? " + tempDir.exists());
}
输出:
C:\ Users \ marsch1 \ AppData \ Local \ Temp \ test0
是目录吗?真正
是否存在?真正