美文网首页
读取jar包内的文件

读取jar包内的文件

作者: fufufufuli | 来源:发表于2019-08-02 11:52 被阅读0次

背景:封装了一个工具包,在工具包内使用File方式读取文件内容

 {
 URL resource = GB2260.class.getResource("/gb2260/data.json");
   String json = FileUtils.readFileToString(new File(resource.getPath()));
}

在当前项目中可执行
当作为其他项目依赖使用时读取该资源文件则会报错
如图所示


image.png

所以应当改用流的方式读取文件内容

 {
   InputStream is = GB2260.class.getResourceAsStream("/gb2260/data.json");
   String json = inputStream2String(is);
}
 private static String inputStream2String(InputStream in) throws IOException {
        StringBuffer out = new StringBuffer();
        byte[] b = new byte[4096];
        for (int n; (n = in.read(b)) != -1; ) {
            out.append(new String(b, 0, n));
        }
        return out.toString();
    }

相关文章

网友评论

      本文标题:读取jar包内的文件

      本文链接:https://www.haomeiwen.com/subject/irakdctx.html