在项目中创建.txt文件

时间:2017-04-21 01:49:43

标签: java

我想在我的项目文件夹中创建一个新的.txt文件,我想给它这条路径:

Contents/FrameClasses/Data/Datafiles/MYFILE.txt

我用来制作文件夹的是:

File MYFILE = new File("Contents/FrameClasses/Data/Datafiles/MYFILE.txt");
MYFILE.getParentFile().mkdir();
try{
    if(MYFILE.createNewFile()){
        //do stuff here
    }
}catch (Exception e){
    //do stuff with the exception...
}

每当我这样做时,我都会收到错误消息:

  

java.io.IOException:没有这样的文件或目录

如果我将src/添加到路径的开头并将其设为如下所示,则会修复错误:

src/Contents/FrameClasses/Data/Datafiles/MYFILE.txt

但是src/不属于我的项目,因为所有都包含在我创建的Contents文件夹中。当我构建.jar文件时,如果我在路径中添加src/后运行它,则会出现相同的错误。

创建此文件的正确方法是什么?
PS :我也尝试使用像这样的较短路径:Datafiles/MYFILE.txt但没有成功。此外,我用来制作文件的类包含在文件夹Data中,与Datafiles一起,如原始路径所示。

1 个答案:

答案 0 :(得分:0)

简答:您不应该将文件写入类文件夹中。

运行时中,我们将使用 jar文件运行 Java程序,而 jar 基本上是< strong> zip 文件,你不能直接通过路径写入你自己的运行时 jar 。如果你使用 jar 文件运行它,它可能会抛出异常,如:

src/Contents/FrameClasses/Data/Datafiles/MYFILE.txt

并且:

  1. File MYFILE = new File(this.getClass().getResource("/").getPath() + "Contents/FrameClasses/Data/Datafiles/MYFILE.txt")此路径有效,我认为您是以IDE或其他方式运行,但未使用已发布的 jar文件运行。

  2. 在没有 jar 的情况下运行时,
  3. if x_axis == 1: if ws_to_format.cell(row=1, column=y_axis).value: ws_to_format.cell(row=1, column=y_axis).font = header_font ws_to_format.cell(row=1, column=y_axis).font = header_alignment 应该有效。