如何使用Java在给定路径下创建新文件夹?

时间:2018-02-23 08:09:40

标签: java directory

我有一个场景,如果该文件夹第一次不存在,则必须在特定位置创建一个带有时间戳的新文件夹。然后我必须在新创建的文件夹中写入文件。

为了在给定位置下创建新文件夹,我编写了以下不创建文件夹的代码,它返回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

1 个答案:

答案 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();
    }

}

要记住的事情很少:

  1. 文件或文件夹名称不能包含以下任何字符:\,/,:,
  2.   

    *,?,"",<,>,|。

    这就是您的时间格式" yyyy_MM_dd_HH:mm:ss" 未添加到文件夹名称的原因。

    所以我更换了" :" " 。 "

    如何在Java中创建目录:

    要在Java中创建目录,请使用以下代码:

    1. 标准Java IO包 - java.io.File
    2. 1.1创建一个目录。

        

      新文件(" C:\ Directory1")。mkdir();

      1.2一起创建名为“Directory2及其所有子目录”Sub2“和”Sub-Sub2“的目录。

        

      新文件(" C:\ Directory2 \ Sub2 \ Sub-Sub2")。mkdirs()

      方法mkdir()和mkdirs()都返回一个布尔值来指示操作状态:如果成功则返回true,否则返回false。