我有一个场景,如果该文件夹第一次不存在,则必须在特定位置创建一个带有时间戳的新文件夹。然后我必须在新创建的文件夹中写入文件。
为了在给定位置下创建新文件夹,我编写了以下不创建文件夹的代码,它返回FALSE。
public static void writeRequestAndResponse()
{
try
{
DateFormat format = new SimpleDateFormat("yyyy_MM_dd_HH:mm:ss");
Date date = new Date();
String currentDateTime = format.format(date);
String folderPath = "D:\\working\\POC\\Output\\LastRunOn_" + currentDateTime;
System.out.println(folderPath);
File file = new File(folderPath);
if (!file.exists())
{
boolean isDirCreated = file.mkdir();
System.out.println(isDirCreated);
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
现有路径: D:\ working \ POC \ Output \
我当前的Java版本: 1.6
答案 0 :(得分:1)
工作代码示例:遵循您的方法
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FolderDemo {
public static void writeRequestAndResponse() {
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy_MM_dd_HH.mm.ss");
String currentDateTime = format.format(date);
String folderPath = "F:\\working\\POC\\Output\\" + "LastRunOn_"
+ currentDateTime;
File theDir = new File(folderPath);
// if the directory does not exist, create it
if (!theDir.exists()) {
System.out.println("creating directory: " + theDir.getName());
boolean result = false;
try {
theDir.mkdirs();
result = true;
} catch (SecurityException se) {
// handle it
System.out.println(se.getMessage());
}
if (result) {
System.out.println("Folder created");
}
} else if (theDir.exists()) {
System.out.println("Folder exist");
}
}
public static void main(String[] args) {
writeRequestAndResponse();
}
}
要记住的事情很少:
*,?,"",<,>,|。
这就是您的时间格式" yyyy_MM_dd_HH:mm:ss" 未添加到文件夹名称的原因。
所以我更换了" :" 与" 。 " 强>
如何在Java中创建目录:
要在Java中创建目录,请使用以下代码:
1.1创建一个目录。
新文件(" C:\ Directory1")。mkdir();
1.2一起创建名为“Directory2及其所有子目录”Sub2“和”Sub-Sub2“的目录。
新文件(" C:\ Directory2 \ Sub2 \ Sub-Sub2")。mkdirs()
方法mkdir()和mkdirs()都返回一个布尔值来指示操作状态:如果成功则返回true,否则返回false。