gpt4 book ai didi

Java(maven web 应用程序),获取资源文件夹中文件的完整文件路径?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:11 25 4
gpt4 key购买 nike

我正在处理一个使用标准 Maven 目录结构设置的项目,因此我有一个名为“resources”的文件夹,我在其中创建了一个名为“fonts”的文件夹,然后将一个文件放入其中。我需要将完整的 String 文件路径(在我的项目结构中位于 resources/fonts/somefont.ttf 的文件)传递给一个对象我正在使用第三方库,如下所示,我已经对此进行了一段时间的搜索,但对于执行此操作的正确方法感到有些困惑。我已尝试如下,但无法找到它。我查看了使用 ResourceBundle 但这似乎涉及制作一个实际的 File 对象,当我只需要将路径传递给如下所示的方法时(没有实际的方法调用在我面前所以只是根据我的内存举一个例子):

FontFactory.somemethod("resources/fonts/somefont.ttf");

我曾认为有一种方法,使用具有标准 Maven 目录结构的项目从资源文件夹中获取文件,而不必使用类/包中的完整相对路径。非常感谢对此的任何建议。

我不想使用硬编码路径,因为从事该项目的不同开发人员有不同的设置,我想将其作为项目的一部分包含在内,以便他们在 checkout 项目源时直接获得它。

这是一个 web 应用程序(Struts 1.3 应用程序),当我查看展开的 WAR 文件(我正在通过 Tomcat 运行该项目)时,该文件位于:

<Exploded war dir>/resources/fonts/somefont.ttf

最佳答案

代码:

import java.io.File;
import org.springframework.core.io.*;

public String getFontFilePath(String classpathRelativePath) {
Resource rsrc = new ClassPathResource(classpathRelativePath);
return rsrc.getFile().getAbsolutePath();
}

在您的情况下,classpathRelativePath 类似于“/resources/fonts/somefont.ttf”。

关于Java(maven web 应用程序),获取资源文件夹中文件的完整文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7184186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com