2013-05-28 2 views
0

저는 이것이 Java에 매우 익숙하므로 간단 할 수 있지만 해결 방법을 찾을 수 없습니다.Java FileWriter 파일 위치

저는 앱을 제작하고 있으며 현재 날짜를 파일에 쓸 수 있어야합니다. 문제가있는 부분은 실제로 파일의 위치를 ​​얻는 것입니다.

파일을 읽고 ArrayList에로 각 라인에있는 모든 텍스트를 넣어 내가 사용에 아무 문제도 없었다 그러나

Scanner in = new Scanner(MainActivity.class.getResourceAsStream("notes.dat")); 

을 내가 모두 시도한 filewriter 선언 할 때 :

FileWriter f = new FileWriter(new File("date.dat")); 

FileWriter f = new FileWriter(new File(MainActivity.class.getResourceAsStream("date.dat"))); 

(그것은 스캐너를 위해 작동하지만 FileWriter에 나에게 오류를 제공

: 목 e 생성자 파일 (InputStream)이 정의되지 않았습니다.

src 폴더와 루트 android 프로젝트 폴더와 같은 다양한 위치에 파일을 두어 올바르게 가리키고 있지만 결코 찾지 못했습니다.

필자가 파일 라이더를 사용하여 파일을 찾은 다음 파일에 쓰려고하면 파일을 찾을 수 없습니다. 나는 앱 개발 프로젝트 폴더에 연결되지 않은 자바 파일을 생성하고 자바 파일과 같은 폴더에 date.dat을 퍼팅 시도하고 문제없이 다음을 사용 할 수 있었다 :

FileWriter f = new FileWriter(new File("date.dat")); 

내 질문은 FileWriter가 안드로이드 프로젝트에 링크되어 있지 않은 일반 자바 파일에서 사용될 때 작동하는 것처럼 보이는 이유는 무엇입니까?하지만 내 프로젝트에서 사용할 때 작동을 멈추고 어떻게 고칠 수 있습니까?

답변

0

.getResource() 및 친구를 사용하면 JVM이 클래스 경로에서 일치하는 이름을 찾습니다. 이것은 항아리에있는 파일 일 수 있음을 의미합니다.

파일을 읽고 쓸 수 있으려면 파일을 사용해서는 안됩니다.

위치를 알고있는 외부 디렉토리를 만들고이 디렉토리에서 작업하십시오.