2015-01-05 4 views
0

내 Java 응용 프로그램에 일부 파일 (예 : * .txt)을로드하면이 파일을 내 최종 실행 가능 파일로 옮겨서 이식 할 수 있습니다. 다른 머신으로이 * .txt 파일을 옮길 필요는 없습니다)?실행 파일 jar가 아닌 외부 파일 포함

파일의 내용이 필요하지 않습니다. 파일 자체가 필요합니다.. 코드에서이 파일의 경로를 어떻게 작성해야합니까?

String path = "path/to/file/"; //Yeah it should be String 

내가 IntellijIDEA을 사용하고 있는데 내 최종 항아리에 모든 파일을 포함 할 수 있지만, 그것을 배치 할 위치를 알아낼 수 없습니다. 감사.

+1

가능한 중복/question/18717038/intellij-for-java-project) – Joe

+0

@Joe 고마워, 유용하지만, 많은 편지 : D, 내가 그것을 체크 아웃 할 것이다 – Daria

+0

@ 조하지만 당신은 그 질문을 볼 수 없다 답변을 수락하지 못했고 저자가 자신의 질문을 해결하지 못했다고 표시했습니다 – Daria

답변

0

당신은 함께 필요한 모든 클래스와 프로퍼티 파일을 넣어 것입니다

<target name="somejar" depends="compile"> 
     <jar jarfile="${somejar.jar}"> 
     <fileset dir="${bin.dir}"> 
      <include name="**/*.class"/> 
     </fileset> 
     <zipgroupfileset dir="lib" includes="*.jar"/> 
     <fileset dir="${basedir}"> 
      <include name="config/*.properties"/> 
      <include name="config/*.txt"/> 
     </fileset> 
     </jar> 
    </target> 

이 아래에 뭔가를해야합니다. 파일에 도달 할 때까지 프로젝트의베이스에서 파일의 위치를 ​​코딩 할 수 있습니다.

2

그냥 프로젝트의 SRC 폴더에 파일을 넣어 - SRC/자원/file.txt를 예를 들어. 프로젝트를 빌드하면 전체 src 내용이 결과 jar에 저장됩니다. 다음 코드를 사용하여 파일에 액세스 할 수 있습니다

this.getClass().getResource("/resource/file.txt");  

예는 모든 라인 읽는 : http://stackoverflow.com ([자바 프로젝트 인 IntelliJ에 리소스를 추가]의

URL url = this.getClass().getResource("/resource/file.txt"); 
Path path = Paths.get(url.toURI()); 
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);  
+0

입력 해 주셔서 감사합니다. 하지만 내 함수는'string' 형식의 파일 경로를 매개 변수로 기다립니다. 'toString()'을 사용하면'file :/full/path/to/file /'과 같은 문자열을 얻을 수 있으므로 나에게 유용하지 않다. – Daria