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

在Jar位置保存文件

太叔灿
2023-03-14

我想将一个文件保存在与应用程序jar文件所在位置相同的文件夹中。我正试图通过以下方式实现这一点:

  private String checkFolder() throws URISyntaxException {
        String path=new File(MigrationsApplication.class.getProtectionDomain().getCodeSource().getLocation()
                .toURI()).getPath()+"\\MigrationFiles";
        System.out.println("PATH2:"+path);
        File file=new File(path);
        if(!file.exists()){
            boolean folderCreated = file.mkdir();
            if(folderCreated){
                System.out.println("The folder MigrationFiles was created");
            }
        }
        return path;
    }

如果我从Intellij运行项目,返回的路径是c:\users\fabio\OneDrive\Ambiente de Trabalho\migrations\target\\,如果我从命令行运行它,返回的路径是\users\fabio\OneDrive\Ambiente de Trabalho\migrations\out\artifacts\migrations_jar\migrations.jar。这是应该发生的吗?另外,如何才能将jar路径仅返回到\artifacts\migrations_jar

共有1个答案

季嘉良
2023-03-14

本质上,.jar文件是捆绑的目录。

您可以测试返回的值是否是目录,如果是,则去掉文件名。

Path p = Path.resolve(path);
if(! p.isDirectory()) {
    p = p.getParent();
}
return p.toString();
 类似资料:
  • 问题内容: 我有以下代码可以处理服务器上的文件上传。但是如何将文件保存到服务器上的特定位置 问题答案: 您应该使用which代替一个目录。 或者,如果你真的想临时文件移动到另一个位置 之后 ,使用。

  • 问题内容: 我刚启动IPython Notebook,然后尝试使用“保存”来保存进度。但是,不是将* .ipynb保存在我当前的工作目录中,而是将其保存在我的python / Scripts文件夹中。有办法设置吗? 谢谢! 问题答案: 是的,您可以在配置文件配置中指定笔记本的位置。由于未将它们保存到启动笔记本的目录中,因此我假设您在配置文件中设置了此选项。您可以使用以下方法找到个人档案目录的路径:

  • 我正在尝试获取运行Runnable JAR文件的位置 但结果是: 而JAR文件位于 我也试过 但结果是: 所以基本上我想要的是JAR文件的路径,而不是类路径,而不是文件名。 有办法吗?

  • 问题内容: 我正在显示一组图像,然后,如果用户希望,可以将图像保存到SD卡。我需要将其保存到外部存储的帮助。有人可以帮我这个忙吗? 网格视图: ImageAdapter: 问题答案: 嗨,我还没有使用过作为应用程序一部分提供的代码,但是我确实使用它来调试了其中一个应用程序在运行时生成的位图。 使用此代码,只要您有位图,就只需要此+清单权限 希望能帮到您 杰森

  • 嗨,我想节省4个鼠标位置,当我点击按钮。 如下所示:ButtonClick->1.mouseClick/保存鼠标位置->2.mouseClick/保存鼠标位置.....

  • 我有dataframe,我想在hdfs位置上保存在单个文件中。 我在这里找到了解决方案,使用spark-csv编写单个CSV文件 这可能吗? 任何帮助都很感激