访问jar包内部资源文件的方法
如果在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