之前是这样读取的 打成jar放到linux 报路径问题 ,jar包找不到classpath的路径
String rootPath = this.getClass().getResource("config.json").getPath();
response.getWriter().write(readFile(inputStream));
public String readFile(String path) throws IOException {
StringBuilder builder = new StringBuilder();
try {
path = ImgCtl.class.getClassLoader().getResource(path).getPath();
InputStreamReader reader = new InputStreamReader(new FileInputStream(path), "UTF-8");
BufferedReader bfReader = new BufferedReader(reader);
String tmpContent = null;
while ((tmpContent = bfReader.readLine()) != null) {
builder.append(tmpContent);
}
bfReader.close();
} catch (UnsupportedEncodingException e) {
// 忽略
}
return this.filter(builder.toString());
}
/**
* 过滤输入字符串, 剔除多行注释以及替换掉反斜杠
*/
public String filter(String input) {
return input.replaceAll("/\\*[\\s\\S]*?\\*/", "");
}
解决方法 用这种方式
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.json");
//String rootPath = this.getClass().getResource("/public/ueditor/jsp/config.json").getPath();
//System.out.println(rootPath);
//ClassPathResource resource = new ClassPathResource("public/ueditor/jsp/config.json");
response.getWriter().write(readFileN(inputStream));
/*
* 读取配置文件
*/
private String readFileN ( InputStream inputStream ) throws IOException {
StringBuilder builder = new StringBuilder();
try {
InputStreamReader reader = new InputStreamReader(inputStream , "UTF-8" );
BufferedReader bfReader = new BufferedReader( reader );
String tmpContent = null;
while ( ( tmpContent = bfReader.readLine() ) != null ) {
builder.append( tmpContent );
}
bfReader.close();
} catch ( UnsupportedEncodingException e ) {
// 忽略
}
return this.filter( builder.toString() );
}
参考博客:https://blog.csdn.net/cscscssjsp/article/details/84822706