例如要获取项目中MSJH.TTF的目录:

public static String getFontPath(){
ClassLoader classLoader = Thread.currentThread()
.getContextClassLoader();
if (classLoader == null) {
classLoader = ClassLoader.getSystemClassLoader();
}
java.net.URL url = classLoader.getResource("");
String ROOT_CLASS_PATH = url.getPath() + "/";
File rootFile = new File(ROOT_CLASS_PATH);
String WEB_INFO_DIRECTORY_PATH = rootFile.getParent() + "/";
File webInfoDir = new File(WEB_INFO_DIRECTORY_PATH);
String SERVLET_CONTEXT_PATH = webInfoDir.getParent() + "/";
//这里 SERVLET_CONTEXT_PATH 就是WebRoot的路径
String path = SERVLET_CONTEXT_PATH + "fonts/MSJH.TTF";
path = path.replaceAll("%20", " ");
return path;
}
本文介绍了一种在Java Web项目中获取特定字体文件绝对路径的方法。通过利用ClassLoader和File类,可以动态地找到Web应用的根目录,并进一步定位到所需的资源文件。此方法适用于需要在运行时访问静态资源的场景。
818

被折叠的 条评论
为什么被折叠?



