将文件保存在当前目录中

0 java io

我一直在寻找这个,很多答案都出来了,但这不是我想要的解决方案,所以我来到这里,试着向你们寻求帮助......

我想.txt在JAR文件所在的同一文件夹中创建一个文件(dist文件夹)...

我尝试使用System.getProperty("user.dir")它工作正常,当我在Windows上运行它并使用netbeans时创建的文件总是在jar文件所在的文件夹中但是当我在LINUX上运行它时它将文件保存在root ...但是文件夹所在的文件夹jar文件在桌面上

当我使用终端打开jar文件时,它在同一文件夹中创建

private static String directory=System.getProperty("user.dir");
private final String sample=directory+File.separator+"sample.txt";


public void createFile()
{
     File file=new File(sample);
    try(FileWriter fw=new FileWriter(file))
    {
        fw.write("INSERT ME WHERE MY JAR IS");
        fw.flush();
        fw.close();
    }catch(IOException ex)
    {
        ex.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

tra*_*ega 11

您可以参考您的工作目录

File directory = new File(".")
Run Code Online (Sandbox Code Playgroud)

你可以使用它访问它上面的文件

System.getProperty(directory.getCanonicalPath() + File.separator + "my.properties")
Run Code Online (Sandbox Code Playgroud)

要么

System.getProperty("." + File.separator + "my.properties")
Run Code Online (Sandbox Code Playgroud)

"." 指的是您当前的目录.使用File.separator确保在基于UNIX的文件系统中获得'/',在NTFS中使用"\".