2014-01-15 2 views
1

패키지 안에있는 .txt 파일에 쓰고 싶습니다. .txt 파일이 저장된 정확한 위치에서 읽을 수는 있지만 패키지 내부에서는 읽을 수 없습니다. 나는 클래스 로더를 사용하고 있다고 가정하고 있지만 작동시키지는 못한다. 여기 내가 지금까지 가지고있는 것입니다.패키지의 .txt 파일에 쓰기

public void writeFile(String fileLocation) { 
    Writer output = null; 
    File file = new File(fileLocation); 
    try { 
     output = new BufferedWriter(new FileWriter(file)); 
     output.append("WRITING TEST"); 

    output.close(); 
    } catch (IOException ex) { 
    System.out.println("Couldn't write to file."); 

    } 
} 

그런 다음 이것을 다른 클래스에서 작성합니다.

WriteFile writeFile = new WriteFile(); 
writeFile.writeFile("src/com/game/scores.txt"); 

나는 클래스 로더를 사용하는 경우 제거 이해 "SRC /"프로그램이 .JAR 컴파일 될 때 더 이상 존재하지 않습니다 때문입니다.

+1

나는 당신이 무엇을 요구하고 있는지 잘 모르겠습니다. 리소스에 쓰기를 시도하고 있습니까? – mikea

+0

Java 패키지 계층 내의 파일에 대해이를 수행하는 일반적인 방법이 있는지 확신하지 못합니다. 파일이 JAR 파일 내에 있으면 어떻게 될까? – thkala

+0

파일은 .jar 파일 안에 있습니다. 사용자가 레벨을 통과 할 때 점수를 업데이트하기 위해 글을 쓰고 싶습니다. – user3080274

답변

1

해당 패키지의 클래스를 사용하여 폴더의 위치를 ​​알 수 있습니다.

public URL getPackageLocation() { 
    return getClass().getResource("."); 
} 

뭔가를 시도 이렇게하면이 메서드가 호출되고있는 폴더의 위치를 ​​제공해야합니다.

+0

jar에 이것을 시도한 적이 있습니까? – ashokramcse

+0

.jar 파일 내의 파일 위치를이 방법으로 얻을 수 있습니다. 이미지를 호출하는 데 여러 번 사용했고 그 중 무엇을 사용하지 않았습니까? 그러나 jar 파일 내의 .txt 파일을 편집 할 수 있다고는 생각하지 않습니다. –

1

jar 파일 내부에 파일을 쓰거나 업데이트 할 수 없습니다. jar 파일 자체가 파일이기 때문에.

이 링크를 참조하십시오. 당신은 이미 당신이 JAR 파일에있는 파일에 쓰기 두지 못하는 것을 알고 코멘트에서

Write To File Method In JAR

0

. 당신이 할 수있는 최선의에서, JAR가 우는 소리처럼있는 경로를 기준으로 파일을 생성한다 :

mylocation 
      |-- my-jar.jar 
      |-- com 
       |--game 
         |--myfile.txt 
0

나는 나의 게임에서 점수를 업데이트 쓸 싶습니다 사용자는 레벨을 통과합니다.

write to the JAR file 일 수 있지만이 경우에는 사용하지 않는 것이 좋습니다.

Path userdir = Paths.get(System.getProperty("user.home"), ".myApp", "<my app version>"); 
0

Jar 파일에는 쓸 수 없습니다. Jar 파일에 기록하는 것은 좋지 않습니다. jar 파일 외부에 쓸 수 있습니다.

자세한 내용은 thisthis 스택 오버 플로우 관련 질문을 참조하십시오.

관련 문제