2013-02-19 4 views
1

Eclipse의 java 프로젝트에서 .dat 파일을 참조하는 데 어려움을 겪고 있습니다. 내 파일 구조는 다음과 같습니다 : 내 'LookupCountry.java'파일에서 'GeoIPLite.dat'을 참조하기 위해 노력하고있어Java 프로젝트에서 .dat 파일 참조하기

enter image description here

. "참조"라고 말하면 실제로 경로의 String 객체를 가져 와서 병에있는 '참조 된 라이브러리'아래에있는 클래스에 매개 변수로 보내는 것입니다.

는 LookupCountry.java에 내 코드는 다음과 같다 :

try{ 
    String dbFile = "../resources/GeoIPLite.dat" 

    // TRIED ALL THESE AS WELL: 
    //String dbFile = "/../resources/GeoIPLite.dat" 
    //String dbFile = "/resources/GeoIPLite.dat" 
    //String dbFile = "resources/GeoIPLite.dat" 

    //Some more code calling the jar file...... 

}catch(IOException e){ 
    //Handles exception 
} 

그래서 기본적으로 나는 .DAT 파일의 경로가 잘못되었다고 말하는 단지에서 발생 가져옵니다 IOException가 얻을.

어떤 아이디어 ??

+2

날엔 확장 박쥐 또는인가? –

+1

.dat! 미안해, 집중하지 않아. 그 점을 지적 해 주셔서 감사합니다 – Tiwaz89

답변

0

예를 들어, 클래스를 실행할 때 '현재 폴더'의 위치를 ​​구성합니다. 메뉴에서 실행> 구성 실행 ...을 선택하고 사용중인 것을 선택하십시오.

그런 다음 '인수'탭을 클릭하고 작업 디렉토리를 확인하십시오.

enter image description here

경로가 표시된 위치를 기준으로해야합니다. (클리핑 된 이미지에는 프로젝트 자체의 기본 폴더 인 기본값이 표시됩니다.)

파일을 열면 기본 작업 디렉토리로 new File("resources/GeoIPLite.dat")이됩니다.

+0

그건 정확히 내 것도. 다른 프로젝트 이름 ofcourse – Tiwaz89

0

resource 폴더의 패키지 구조는 src 폴더에서와 동일하게 사용하십시오. 리소스 폴더를 Eclipse의 소스 폴더로 추가하십시오 (스크린 샷 참조). 리소스 폴더에 .dat 파일을 사용하려는 클래스와 관련하여 .dat 파일을 배치합니다. 그러면 컴파일 된 클래스 옆에 리소스 파일이 표시됩니다. 코드에서

,과 같이 리소스 파일을 참조 :

this.getClass().getResource("foo.txt"); 

enter image description here

+0

"같은 패키지 구조"라고 할 때. 'resource'폴더에도 com.deangrobler 패키지가 있어야하며,이 패키지에는 .dat 파일이 들어 있습니까? – Tiwaz89

+0

예. 'getResource()'는 URL을 반환합니다. – whiskeyspider

+0

OP는 파일을 여는 방법을 절대 말하지 않았습니다. 그것은 새로운'File (string)'또는'this.getClass(). getResourceAsStream (string)'일 수 있으며 필요한 경로는 다를 수 있습니다. 후자의 경우에 무엇을해야하는지 설명하고 있습니다. –