1. 不通用:使用项目内路径读取,该路径只在开发工具中显示,如:src/main/resources/resource.properties。只能在开发工具中使用,部署之后无法读取。(不通用)
public void read() throws IOException { File file = new File("src/main/resources/resource.properties"); FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); String data = null; while((data = br.readLine()) != null) { System.out.println(data); } br.close(); isr.close(); fis.close();}
2. 不通用:使用org.springframework.util.ResourceUtils读取,在linux环境中无法读取。(不通用)
public void read2() throws IOException { File file = ResourceUtils.getFile("classpath:resource.properties"); FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); String data = null; while((data = br.readLine()) != null) { System.out.println(data); } br.close(); isr.close(); fis.close();}
3. 使用org.springframework.core.io.ClassPathResource, 各环境都能读取。(通用)
public void testReadFile() throws IOException { // ClassPathResource classPathResource = new ClassPathResource("resource.properties"); Resource resource = new ClassPathResource("resource.properties"); InputStream is = resource.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String data = null; while((data = br.readLine()) != null) { System.out.println(data); } br.close(); isr.close(); is.close();}