当前位置: 首页 > 知识库问答 >
问题:

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

吉玉宸
2023-03-14

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

为了在给定位置下创建新文件夹,我编写了以下代码,该代码不创建文件夹,返回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:\工作\POC\输出\
我的当前Java版本:1.6

共有1个答案

乌鸿宝
2023-03-14

工作代码示例:遵循您的方法

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. 文件或文件夹名称不能包含以下任何字符:\,/,:

*, ?, "",

这就是为什么没有将时间格式“yyyy_MM_dd_HH:MM:ss”添加到文件夹名称中。

所以我把":"换成了"。"

如何在Java中创建目录:

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

  1. 标准Java IO包——Java。伊奥。文件

1.1创建一个目录。

文件("C:\Directory1"). mkdir();

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

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

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

 类似资料:
  • 问题内容: 我正在从网上下载一个zip文件。它包含文件夹和文件。使用解压缩他们和。将文件名指定为。 所以我正在创造新的 但问题是它引发了异常:。我知道它正在创建子文件夹和。 我的问题是:如何通过路径上方创建包含子目录的文件? 问题答案: 用这个: 尽管您可以不检查结果而做,但是检查操作的返回值被认为是最佳实践。因此,首先检查现有目录,然后检查是否成功创建(如果尚不存在)。 参考: File.get

  • 给定两个字符串——一个表示目录路径,另一个表示文件路径——检查文件是否存在于给定目录下(可以是任意深度)的最有效方法是什么。 我首先将两者转换为对象,并比较它们的规范路径 但我不相信这实际上是最准确的方法 - 我想依靠系统考虑的内容而不是比较字符串。 然后,我尝试将两者都转换为对象,然后递归地调用文件上的

  • 问题内容: 在Java中, 执行上述代码时,默认情况下指定哪个路径,但未指定具体路径? 问题答案: 当前目录,您可以通过调用以下目录获得:

  • 问题内容: 我已经为“ Debian Linux”创建了一个Java应用程序。现在,我希望该应用程序读取放置在指定该应用程序的jar文件的目录中的文件。那么在File Object的参数中要指定什么呢? 在上述声明中,作为参数指定相对文件路径的参数是什么,该相对文件路径表示放置应用程序的jar文件的路径? 问题答案: 如果您知道文件的名称,那么当然 如果您不知道名称,则可以使用File对象的lis

  • 路径文字是指沿着开放或封闭的路径排列的文字。当您水平输入文本时,字符的排列会与基线平行。当您垂直输入文本时,字符的排列会与基线垂直。无论是哪种情况,文本都会沿路径点添加到路径上的方向来排列。 在路径上输入文本 执行下列操作之一: 要沿路径创建横排文本,请选择文字工具 或路径文字工具 。 要沿路径创建直排文本,请选择直排文字工具 或直排路径文字工具 。 (可选)在“控制”面板、“字符”面板或“段落”

  • 给定两个字符串 - 一个表示目录路径,另一个表示文件路径 - 检查文件是否存在于给定目录下(可以是任何级别)的最有效方法是什么。 我首先将两者转换为 对象,并比较它们的规范路径 但我不相信这实际上是最准确的方法——我想依靠系统的考虑,而不是比较字符串。 然后,我尝试将两者都转换为对象,然后递归地调用文件上的