이 주제에 혼란이 많습니다. 몇 가지 질문이 있습니다. 상황은 여전히 불분명하게 보입니다. 클래스 로더, 절대 파일 경로 등 등 내가 같은 프로젝트 디렉토리 구조가 있다고 가정Java에서 프로젝트 폴더의 절대 경로
,
MyProject-- --dist --lib --src --test
나는 자원이
는 "lib 디렉토리/TXT"디렉토리에 "txtfile.txt"를 말한다. 시스템 독립적 인 방식으로 액세스하고 싶습니다. 나는 프로젝트의 절대 경로가 필요하다. 그래서 나는 반드시 프로젝트 루트가 아닌 현재 작업 디렉토리를 얻을 나는이java.io.File file = new java.io.File(""); //Dummy file
String abspath=file.getAbsolutePath();
을 abspath + "/ lib 디렉토리/사전/txtfile.txt"가정하자
같은 경로를 코딩 할 수 있습니다.
"lib/txt/txtfile.txt"디렉토리 구조와 리소스가 포함 된 'dist'폴더에서 최종 'prj.jar'을 실행한다고 가정 해 봅시다. 내가 dist 폴더의 절대 경로해야합니다.
희망 문제가 명확합니다.
나는이 방법이 여전히/lib 디렉토리/사전 "추가로 디렉토리 구조 플랫폼처럼에"유닉스 "제한되는 느낌 /txtfile.txt "는 앞으로 및 백 슬래시의 차이 때문에 윈도우를 망칠 것입니다! : | –
실제로 Java는 슬래시 방향을 신경 쓰지 않지만'/'는 현재 디스크의 루트를 가리 키므로 루트가 아닌 드라이브 만 명시 할 수 있습니다. –
System.getProperty ("file.separator")는 Windows 환경의 경우 "\"를 반환하고 Unix (및 Unix 계열) 환경의 경우 "/"를 반환합니다. – Catchwa