在src文件夹

时间:2017-03-03 23:46:16

标签: java file directory

我尝试了几种不同的方法来实现这一点,而且没有一个能够实现。我正在尝试在Java中创建一个文件夹内的文件。项目需要有几个相互关联的文本文件,将它们放在一个文件夹中更易于管理。理想情况下,此文件夹将存储在scr/之外。

这是我当前的代码(我先检查文件是否存在):

File testFile = new File("\\appts\\Appointments" + name + ".txt");
try {
    testFile.createNewFile();
} catch (Exception e) {
    e.printStackTrace();
}

但是,当我尝试运行代码时,我收到IOException。我已经尝试了它如何在上面,/appts/Appointmentsappts/Appointmentsappts\\Appointments。我尝试在线搜索,但找不到任何有用的东西。

编辑:以下是我的项目设置目前的样子:

Project_Folder
    src
        com
            weebly
                roboticplayer
                    appointmentbook
                        CLASSES

以下是我希望它的外观:

Project_Folder
    src
        com
            weebly
                roboticplayer
                    appointmentbook
                        CLASSES
    appts

3 个答案:

答案 0 :(得分:3)

有两种简单的方法可以做到这一点:

1)绝对路径

  "C:\\users\\....\\parent_folder\\filename.txt";

2)相对路径,

 . (Single dot) is current directory
 ..(double dots) is parent directory

例如,您要在项目文件夹下创建文本文件。以下是您的文件结构。

Project_folder
    src
        Java_main_file.java
    appts

您想在appts

Java_main_file.java下创建一个文件
String filename = "..\\appts\\filename.txt"

然后,使用filename创建您的文件。以下是create a text file的链接。

请注意,您需要确保存在创建文件的文件夹。如果它不存在,您将收到错误。

答案 1 :(得分:0)

您无法在一个步骤中创建文件及其不存在的父目录,但您可以先使用File.mkdirs()创建父目录,然后创建该文件。

答案 2 :(得分:0)

如果您使用JDK7,则可以使用nio包。

 Path path = Paths.get("C:\\appts\\Appointments");
 Files.createDirectories(path);

如果你想做一个相对于你当前文件夹的路径:

 FileSystems.getDefault().getPath("appts", "Appointments");

如果要查看绝对路径名:

 FileSystems.getDefault().getPath("appts", "Appointments").toAbsolutePath().toString();

如果您需要该文件对象:

 FileSystems.getDefault().getPath("appts", "Appointments").toFile();

在调用AbsolutePath()之后,你也可以执行.toFile()。