자바 파일 가 져 오 는 경로 및 일반적인 문제 해결 방안

자바 에서 읽 기 파일 을 읽 습 니 다.경로 문제 로 자주 찾 을 수 없습니다.이 글 은 파일 을 어떻게 찾 는 지 기록 하 는 간단 한 방법 입 니 다.
이 springboot 를 기반 으로 한 테스트 는 주로 구축 공정 이 편리 하고 사용 하 는 방법 은 JDK 의 방법 입 니 다.주로'/'와'없 는'문제,그리고 getResource AsStream(String string)과 getResource(String string)의 문제 가 있 습 니 다.
1.프로젝트 구성

설명 하 세 요.주로 두 개의 프로필 이 있 습 니 다.a.properties 와 b.properties,a.properties 방법 자바 의 코드 에 b.properties 는 resources 의 설정 디 렉 터 리 에 놓 여 있 습 니 다.
컴 파일 후 classpath 의 경 로 는 target/classes 입 니 다.사선"/"는 이 경 로 를 말 합 니 다.모든 사선 이 있 으 면 이 경로 아래 에서 찾 습 니 다.사선 이 없 으 면 현재 경로 에 앉 아 찾 습 니 다.
2.예

public class TestPath {
  public static void main(String[] args) {
    TestPath t = new TestPath();
    //   TestPath       
    InputStream a = t.getClass().getResourceAsStream("a.properties");
    // classpath       
    InputStream b = t.getClass().getResourceAsStream("/b.properties");

    //   TestPath       
    URL url_a = t.getClass().getResource("a.properties");
    // classpath       
    URL url_b = t.getClass().getResource("/b.properties");

    System.out.println();
  }
}
이상,두 가지 방법 모두 파일 을 찾 을 수 있 습 니 다.두 가지 차이 가 있 습 니 다.
4
  • 사선 이 있 는 지 없 는 지,사선 이 없 는 지 는 같은 방법 이 있 는 package 에서 조회 하고 사선 이 있 으 면 classpath 아래 에서 조회 합 니 다
  • 반환 값,getResourceAsStream()은 InputStream 으로 되 돌아 와 직접 읽 을 수 있 습 니 다.getResource()는 파일 의 path 경 로 를 쉽게 가 져 올 수 있 는 URL 대상 을 되 돌려 줍 니 다
  • 이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기