访问jar包内部资源文件的方法

2018/01/07 17:23
阅读数 16

如果在jar中需要访问jar包内部的某个资源文件,可以用class.getResourceAsStream(文件路径)获取文件内容。

假设文件路径是project/src/com/zh/resource, code如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;public class test {
    public static void main(String[] args) {
        StringBuffer fileStrBuffer = loadFile("/com/zh/resource/test.txt");
        if(fileStrBuffer!=null) {
            System.out.print(fileStrBuffer);
        }
    }
    
    /**
     * Load the specified  file.
     * 
     * @return The buffer to store file content.
     */
    private static StringBuffer loadFile(String file) {
        StringBuffer buffer = new StringBuffer();
        InputStream is = test.class.getResourceAsStream(file);
        BufferedReader reader;
        try {
            reader = new BufferedReader(new InputStreamReader(is, "utf-8"));
            String tempString = null;
            while ((tempString = reader.readLine()) != null) {
                buffer.append(tempString);
            }
        } catch (UnsupportedEncodingException e) {
            buffer = null;
        } catch (IOException e) {
            buffer = null;
        } finally {
            try {
                is.close();
            } catch (IOException e) {
            }
        }

        return buffer;
}
}

结果:

xxxxx{0}xxxxx{1}xxxxxxxx{2}xxxxxx

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
在线直播报名
返回顶部
顶部