2011-04-07 2 views
3

좋아요를, 그래서 파일 이름이 myfile.txt를 읽고의 내가이 디렉토리 아래에 저장됩니다 가정 해 봅시다 할 :동적 파일 경로는 (작성 및 텍스트 파일 읽기)

홈/MyName로/문서/workspace/myProject/files myfile.txt

흠 ... 내 매개 변수로 File(filePath)을 전달해야하는 정보를 알고 싶습니다. ".. \ myfile.txt"와 같은 것을 넣을 수 있습니까? 파일 경로를 하드 코딩하고 싶지 않습니다. 왜냐하면 다른 프로젝트에서 내 프로젝트를 열어도 분명히 바뀔 것이기 때문입니다. 파일 경로가 가능한 한 동적인지 어떻게 확인합니까? 그건 그렇고, 자바를 사용하고 있습니다.

File teacherFile = new File(filePath); 

답변

4

../myfile.txt과 같은 상대 경로를 사용하여 파일을 참조 할 수 있습니다. 이 경로의 기본은 Java 프로세스가 명령 행에 대해 시작된 디렉토리입니다. Eclipse의 경우 프로젝트의 루트이거나 실행> 실행 구성> 인수 아래에서 작업 디렉토리로 구성한 것입니다. 현재 디렉토리가 자바의 내부에서 무엇을보고 싶다면 여기를 결정하는 트릭이다 : 이것의 위치는 응용 프로그램의 작업 디렉토리에 따라 변경됩니다 그러나

File currentDir = new File(""); 
System.out.println(currentDir.getAbsolutePath()); 
0

당신은 ../myfile.txt를 사용할 수 있습니다. 당신은 프로젝트의 기본 디렉토리를 결정하는 것과 그와 관련된 경로를 사용하는 것이 좋습니다.

2

상대 경로는 기본적으로 Java 응용 프로그램을 실행중인 현재 디렉토리에 상대적입니다.

그러나 당신은 또한으로 사용자의 홈 디렉토리를 얻을 수 있습니다 :

String userHome = System.getProperty("user.home"); 
1

당신은 그것을 할 수 있습니다, 응용 프로그램 폴더의 경로가 지금

File currentDir = new File ("."); 
String basePath = currentDir.getCanonicalPath(); 

basePath 추가 정확한 디렉토리/파일 이름 및 가야합니다.