使用getResource()方法从jar读取文件夹

时间:2015-05-05 08:31:47

标签: java fonts jar classpath

这是我的代码

/** Loads fonts for the L&F. */
private void loadFonts() {
    try {
        final GraphicsEnvironment ge = 
                GraphicsEnvironment.getLocalGraphicsEnvironment();
        final URL url = getClass().getResource("fonts");
        final File dir = new File(url.toURI()); // here I get exception
        for (final File file : dir.listFiles()) {
            ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, file));
        }
    } catch (Exception e) {
        throw new LFRuntimeException("A problem on font installing is occured!", e);
    }
}

当我从文件系统运行此代码时,一切正常。但是当我从jar运行它时,我会在创建文件对象时遇到以下异常:

  

java.lang.IllegalArgumentException:URI不是分层的

那么如何从jar中读取文件夹内容?

P.S。我已经看过一些类似的问题,但解决方法是读取文件,我需要读取文件夹中的所有文件

0 个答案:

没有答案