背景:封装了一个工具包,在工具包内使用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();
}
网友评论