자바 프로젝트 파일 가 져 오기 경로 요약
8905 단어 자바항목파일 경로 가 져 오기
java , 。
1、java.lang.System.getProperty(String key)
System.getProperty("user.dir") 。
![ ](http://img.blog.csdn.net/20160322141415562)
예 를 들 어 위의 그림 에서 항목 의 루트 디 렉 터 리 를 가 져 옵 니 다: C: \ Users \ 관리자 \ \ 데스크 톱 \ 사전;이 방법 을 사용 하면 프로젝트 를 어디 에 두 든 현재 루트 디 렉 터 리 를 가 져 왔 습 니 다.현재 항목 의 다른 속성 을 가 져 올 필요 가 있 습 니 다. 예 를 들 어 jdk 버 전, 시스템 버 전 실행 등 입 니 다. System. out. println (System. getProperties () 을 이용 하여 모든 속성 을 출력 하고 필요 한 것 이 무엇 인지 확인 하 십시오.따라서 위의 그림 에 있 는 images 파일 에 있 는 파일 을 가 져 오 려 면 System. getProperty (user. dir) + "\ \ images \ \ \ user. jpg") 를 통 해 파일 경 로 를 가 져 올 수 있 습 니 다.
2、java.io.File.File(String pathname)
1.
File directory = new File("");//
System.out.println(directory.getCanonicalFile());// File
System.out.println(directory.getCanonicalPath());// , String
System.out.println(directory.getAbsoluteFile());// File
System.out.println(directory.getAbsolutePath());// , String
:
C:\Users\Administrator\Desktop\Dictionary
C:\Users\Administrator\Desktop\Dictionary
C:\Users\Administrator\Desktop\Dictionary
C:\Users\Administrator\Desktop\Dictionary
2、
File directory = new File(".");//
System.out.println(directory.getCanonicalFile());// File
System.out.println(directory.getCanonicalPath());// , String
System.out.println(directory.getAbsoluteFile());// File
System.out.println(directory.getAbsolutePath());// , String
:
C:\Users\Administrator\Desktop\Dictionary
C:\Users\Administrator\Desktop\Dictionary
C:\Users\Administrator\Desktop\Dictionary\.
C:\Users\Administrator\Desktop\Dictionary\.
3、
File directory = new File("..");//
System.out.println(directory.getCanonicalFile());// File
System.out.println(directory.getCanonicalPath());// , String
System.out.println(directory.getAbsoluteFile());// File
System.out.println(directory.getAbsolutePath());// , String
:
C:\Users\Administrator\Desktop
C:\Users\Administrator\Desktop
C:\Users\Administrator\Desktop\Dictionary\..
C:\Users\Administrator\Desktop\Dictionary\..
getCanonicalPath () 함수 에 대해 서 는 "." 는 현재 폴 더 를 표시 하고 "..." 는 현재 폴 더 의 이전 폴 더 가 getAbsolutePath () 함수 에 대해 서 는 상관 하지 않 는 다 는 것 을 의미 합 니 다. ","... "현재 경 로 를 되 돌려 주 고 new File () 에서 설정 한 경 로 를 추가 합 니 다.
String java. io. File. getPath () 방법:
File directory = new File("");
System.out.println(directory.getPath()); //
File directory = new File(".");
System.out.println(directory.getPath()); //
File directory = new File("..");
System.out.println(directory.getPath()); //
File directory = new File("images\user.jpg");
System.out.println(directory.getPath()); //
:
( )
.
..
images\user.jpg
무엇 을 주 는 지, File. getPath () 가 무엇 을 출력 하 는 지 설명 합 니 다.
3 classpath 를 기반 으로 자원 을 얻 는 방법 은 다음 과 같은 세 가지 가 있 습 니 다.
URL url = this.getClass().getResource("resource_name");
URL url = this.getClass().getClassLoader().getResource("resource_name");
URL url = Thread.currentThread().getContextClassLoader().getResource("resource_name");
:this main ,main :
URL url = Test.class.getClassLoader().getClass().getResource("/images/user.jpg");
URL url = Test.class.getClassLoader().getClass().getClassLoader().getResource("/images/user.jpg");
“Cannot use this in a static context”。
첫 번 째 는 Class 클래스 인 스 턴 스 를 통 해 getResource 방법 이 고, 뒤의 두 가 지 는 모두 ClassLoader 클래스 인 스 턴 스 의 getResource 방법 입 니 다.Class. getResource () 도 ClassLoader 의 getResource 방법 에 의뢰 하여 이 루어 집 니 다. 따라서 먼저 ClassLoader 의 getResource 방법 을 말 합 니 다.
(1) ClassLoader 의 getResource 방법 매개 변 수 는 "/" 로 시작 할 수 없 으 며, 루트 디 렉 터 리 부터 찾 아야 합 니 다. 이 루트 디 렉 터 리 는 classpath 의 디 렉 터 리 와 인 용 된 jar 입 니 다. 예 를 들 어 eclipse 의 기본 값 은 모든 프로젝트 에서 자바 류 가 실 행 될 때의 classpath 를: 프로젝트 루트 디 렉 터 리 / bin 디 렉 터 리 및 프로젝트 에서 인 용 된 모든 jar 패키지 로 설정 합 니 다. 컴 파일 할 때,src 디 렉 터 리 구 조 를 bin 디 렉 터 리 에 복사 하고 자바 류 를 class 파일 로 컴 파일 한 후 다른 파일 과 연결 하여 src 중원 디 렉 터 리 구 조 를 bin 디 렉 터 리 에 복사 합 니 다.어떤 공장 의 classpath 를 다음 과 같이 가정 합 니 다 (두 개): / bin log4j - 1.2.16. jar 중 log4j - 1.2.16. jar 에 디 렉 터 리 구조 org \ apache \ log4j \ (패키지 org. apache. log4j) 와 대응 하 는 디 렉 터 리 아래 test. txt 파일 을 찾 으 려 면 아래 방법 ClassLoader. getResource ("test. txt") 를 사용 하 십시오.여기 서 ClassLoader. getResource 방법의 입 참 은 루트 디 렉 터 리 부터 찾 아야 합 니 다. 이 루트 디 렉 터 리 는 classpath 의 / bin 입 니 다.bin / level 1 / level 2 / ll. txt 파일 을 찾 으 려 면 ClassLoader. getResource ("level 1 / level 2 / ll. txt") 를 사용 해 야 합 니 다. / /루트 디 렉 터 리 (/ bin) 를 기반 으로 해 야 하 며 디 렉 터 리 구조 도 맞 춰 야 하 며 / 시작 할 수 없습니다.
(2) Class. getResource () 는 약간 다르다.
(a) 상대 경 로 를 통 해 현재 인 스 턴 스 의 Class 파일 이 있 는 가방 을 찾 을 수 있 습 니 다.
(b) ClassLoader. getResource () 와 마찬가지 로 루트 디 렉 터 리 (classpath) 부터 찾 을 수 있 습 니 다.
Class.getResource() "/" ,
((a) )
, / , ClassLoader.getResource()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.