0
我訪問字體資源使用下面的代碼我可以使用File對象訪問資源嗎?
try {
URL url = getClass().getResource("");
log.debug("url = '{}'", url.toString());
URI uri = url.toURI();
log.debug("uri = '{}'", uri.toString());
File dir = new File(uri);
files = dir.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".ttf");
}
});
indice = new Integer[files.length];
delegate = new Descr[files.length];
fileNames = new String[files.length];
fontNames = new String[files.length];
for(int i=0; i<files.length; ++i) {
delegate[i] = new Descr(Font.createFont(Font.TRUETYPE_FONT, files[i]).deriveFont(FontSize));
fileNames[i] = files[i].getName();
fontNames[i] = delegate[i].getFont().getFontName();
}
} catch (URISyntaxException e) {
throw new AssertionError(e);
} catch (FontFormatException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
這是工作,直到投入JAR
。在JAR
它會導致錯
IllegalargumentException: URI is not hierarchicalhierarchical
那麼,如何枚舉裏面JAR
資源?是否可以使用File
?
當然我會硬編碼一個列表,如果它不可能產生它。在我的情況下,這些是字體,很容易添加新的字體。 –
有沒有要發表評論?如果是這樣,它就會丟失在我身上。 –