1. 不通用:使用项目内路径读取,该路径只在开发工具中显示,如:src/main/resources/resource.properties。只能在开发工具中使用,部署之后无法读取。(不通用)

  1. public void read() throws IOException {
  2. File file = new File("src/main/resources/resource.properties");
  3. FileInputStream fis = new FileInputStream(file);
  4. InputStreamReader isr = new InputStreamReader(fis);
  5. BufferedReader br = new BufferedReader(isr);
  6. String data = null;
  7. while((data = br.readLine()) != null) {
  8. System.out.println(data);
  9. }
  10. br.close();
  11. isr.close();
  12. fis.close();
  13. }

2. 不通用:使用org.springframework.util.ResourceUtils读取,在linux环境中无法读取。(不通用)

  1. public void read2() throws IOException {
  2. File file = ResourceUtils.getFile("classpath:resource.properties");
  3. FileInputStream fis = new FileInputStream(file);
  4. InputStreamReader isr = new InputStreamReader(fis);
  5. BufferedReader br = new BufferedReader(isr);
  6. String data = null;
  7. while((data = br.readLine()) != null) {
  8. System.out.println(data);
  9. }
  10. br.close();
  11. isr.close();
  12. fis.close();
  13. }

3. 使用org.springframework.core.io.ClassPathResource, 各环境都能读取。(通用)

  1. public void testReadFile() throws IOException {
  2. // ClassPathResource classPathResource = new ClassPathResource("resource.properties");
  3. Resource resource = new ClassPathResource("resource.properties");
  4. InputStream is = resource.getInputStream();
  5. InputStreamReader isr = new InputStreamReader(is);
  6. BufferedReader br = new BufferedReader(isr);
  7. String data = null;
  8. while((data = br.readLine()) != null) {
  9. System.out.println(data);
  10. }
  11. br.close();
  12. isr.close();
  13. is.close();
  14. }