日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

如何從jar包中讀取配置文件

 瑤疏影 2019-04-11

https://blog.csdn.net/he_qiao/article/details/81430776

今天開發(fā)的時候遇到一個問題——當(dāng)程序以jar包運行的時候,有個txt配置文件無法獲取到,但是本地測試無法復(fù)現(xiàn).后來發(fā)現(xiàn)是因為以Jar包形式運行,文件無法訪問到,這里記錄一下。

1. 如何判斷當(dāng)前進(jìn)程是否以jar包形式運行的?

/**
 * 是否以Jar包運行
 * 
 * @return
 */
public static boolean isRunningInJar() {
    try {
        String className = GenericUtils.class.getName().replace('.', '/');
        String classJar = GenericUtils.class.getResource("/" + className + ".class").toString();
        logger.info("classJar: " + classJar);
        return classJar.startsWith("jar:");
    } catch (Exception e) {
        logger.warn("get Running status failed.");
        return false;
    }
}

2.從Jar包中讀取文件內(nèi)容

public static String txt2String(String fileName) {
    StringBuilder result = new StringBuilder();
    BufferedReader br = null;
    try {
        Reader r = null;
        if (isRunningInJar()) {
            InputStream in = GenericUtils.class.getResourceAsStream(File.separator + fileName);
            r = new InputStreamReader(in);
        } else {
            String path = GenericUtils.class.getClassLoader().getResource(fileName).getPath();
            File file = new File(path);
            r = new FileReader(file);
        }
        br = new BufferedReader(r);// 構(gòu)造一個BufferedReader類來讀取文件
        String s = null;
        while ((s = br.readLine()) != null) {// 使用readLine方法,一次讀一行
            result.append(System.lineSeparator() + s);
        }
    } catch (Exception e) {
        logger.error("error when function:getTxtFromFile!", e);
    } finally {
        try {
            if (br != null) {
                br.close();
            }
        } catch (final IOException ioe) {
            // ignore
        }
    }
    return result.toString();
}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多