안드로이드 개발 질문/답변
(글 수 45,052)
책을 보니...
파일 입출력의 경우
FileOutputStream openFileOutput(String nama, int mode)
FileInputStream openFileInput(String name)
을 사용하고 이 경우 파일의 위치를 임의로 정할수 없으며
파일의 위치는
/data/data/패키지명/files 폴더에 위치시켜야 한다
라고 적혀있는데요;;
DDMS 를 가서 찾아봐도
/data/data/패키지 폴더를 가니...
lib 폴더 하나 밖에 없는데;; 이경우 어떻게 해결 해야하는지 알고 싶습니다
2010.12.30 10:07:55
sdcard 어느 영역이든 파일 입출력 가능합니다.
다만 보안이나, 어플 삭제시 문제가 되서 그 위치가 좋다는 거죠.
파일 만들때 위치 지정해줘야 합니다.
2010.12.30 13:51:07
파일접근은 일반 자바와 크게 다르지 않구요,
읽을때, 퍼미션 주셔야될거예요,
읽는 권한.
<uses-permission android:name="android.permission.READ_OWNER_DATA"></uses-permission>
쓰는권한.
<uses-permission android:name="android.permission.WRITE_OWNER_DATA"></uses-permission>
기존에 data/data/packageName/files/fileName
에 파일이 존재해야 읽을수 있겠죠? (파일 쓰는걸 원하시는게 아니라, 읽는걸 원하시는거 같아서...)
activity 의 openFileInput을 이용하시면 되지 않을까 하는데,
여기서 Stream받으셔서 하시면 되지 않을까 해요. (일반 자바와 다르지 않습니다)
2010.12.30 15:38:22
상고맹이 // 일반 자바에서 사용하는 바이트스트림 형식의 코딩을 해봤는데요
그 부분을 할경우 파일 경로를 어떻게 잡아줘야 할지를 잘 모르겠네요;;;
파일을 찾을수 없다는 에러가 계속 호출중이라...
그 부분을 할경우 파일 경로를 어떻게 잡아줘야 할지를 잘 모르겠네요;;;
파일을 찾을수 없다는 에러가 계속 호출중이라...
2010.12.30 16:17:35
private static final String internalDirectory = "/data/data/kr.android.pub/";
String iDrectory = "files"; // files , // databases // lib도 가능한걸로 알고 있어용,,
String iFileName = "fileName.jpg"
File input = new File(internalDirectory + iDirectory + "/" + iFileName);
저는 이런식으로 해서 데이터를 읽어왔는데요,
패키지 이름이랑 파일이랑 디렉토리랑 맞추셔서 시도해 보시겠어요?
filenotfound라고 뜨신다고 했잖아요, files라는 폴더와 파일이 없으셔서 그런거 같은데, 먼저 파일이 존재하는걸 확인하셨나요?
없으시면, 생성하신후 하셔야 하지 않을까 하는데,,
String iDrectory = "files"; // files , // databases // lib도 가능한걸로 알고 있어용,,
String iFileName = "fileName.jpg"
File input = new File(internalDirectory + iDirectory + "/" + iFileName);
저는 이런식으로 해서 데이터를 읽어왔는데요,
패키지 이름이랑 파일이랑 디렉토리랑 맞추셔서 시도해 보시겠어요?
filenotfound라고 뜨신다고 했잖아요, files라는 폴더와 파일이 없으셔서 그런거 같은데, 먼저 파일이 존재하는걸 확인하셨나요?
없으시면, 생성하신후 하셔야 하지 않을까 하는데,,
2010.12.30 16:29:21
제가 사용하려는 파일은 스프라이트툴로 뽑아낸 에니메이션 정보값을 가지고 있는 텍스트 파일인지라;;
그걸 /data/data/packageName/files/ 이곳에 파일을 위치 시켜야 하는건가요``?
2010.12.30 16:32:31
InputStream openRawResource 를 사용해서 하려고도 해봤는데
이럴경우 해당 클래스가 activity를 가지고 있도록 한다음
getResources().openRawResource를 사용하니... 여기서 또 에러가 나는 상황이라
도무지 어떻게 열어야 할지가;;;



