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

如何以编程方式获取资源目录路径

鞠自明
2023-03-14

我有以下目录布局:

  • src

      • Java
      • 资源
        • SQL(数据库脚本)
        • Spring(配置)
        File folder = new File(path);
        File[] listOfFiles = folder.listFiles();
        
        public void contextInitialized(ServletContextEvent event) {
            event.getServletContext(); //(getRealPath etc.)
        }
        

        是否存在以相对的、非硬编码的方式设置该路径的方法?类似于new File(“classpath:sql”)(如果可能,最好是spring)或如何使用servletContext来指向resources/sql

共有1个答案

孔鸿哲
2023-03-14

我假设src/main/resources/的内容在构建时被复制到。war中的WEB-INF/classes/。如果是这种情况,您只需这样做(用实际值替换classname和正在加载的路径)。

URL sqlScriptUrl = MyServletContextListener.class
                       .getClassLoader().getResource("sql/script.sql");
 类似资料:
  • 问题内容: 我有以下目录布局: src main Java resources SQL (database script) Spring (configuration) network application 在ServletContextListener类中,我想访问SQL目录下的文件并列出它们。基本上我的问题是路径,因为我知道简而言之列出目录下的文件是: 也许我可以使用Object尝试建立路径

  • 我想访问资源映射,而不是从我的CCS文件访问 但从我的豆子。只有EL评估可能吗?

  • 问题内容: 我正在寻找一种从给定的目录中获取所有资源名称的列表的方法,例如。 例如,给定一个路径目录x/y/z包含文件和子目录,应该返回一个包含下列字符串:, 。 它应同时适用于文件系统和jar中的资源。 我知道我可以用和 编写一个简短的代码段,但是我不想重新发明轮子。我的问题是,鉴于现有的公共可用库,最快的实现方法是什么?和堆栈都是可行的。 问题答案: 自定义扫描仪 实施自己的扫描仪。例如:

  • 问题内容: 我想从受监视的应用程序内部以编程方式获得等效的输出。我看到可以通过HotSpot诊断Bean触发二进制堆转储,但是我看不到如何获取直方图数据。可能吗 ? 问题答案: 这可能是不是最好的例子/代码,但看看这个 (我认为这仅适用于Hotspot JVM)

  • 问题内容: 基本上,我想获取python解释器的句柄,以便可以传递脚本文件来执行(从外部应用程序执行)。 问题答案: 这适用于Linux和Windows: Python 3.x Python 2.x

  • 问题内容: 我的资源文件中有很多字符串数组,我想根据用户输入以编程方式访问它们。 因此,如果c == 12,则info应该是名称为“ n_12”的字符串数组。有没有办法做到这一点,并且避免对数百种情况进行switch语句? 谢谢 问题答案: 您可以像这样获取资源ID 然后只需使用该ID 在这里看看有关的另一个示例。