2014-11-13 1 views
0

나는 내 수업이 /src/com.example.myapp/이고 텍스트도 mytext.txt입니다.어떤 폴더에 텍스트 파일을 저장해야합니까?

그러나 파일이 클래스와 동일한 디렉토리에 있더라도 static File f = new File("mytext.txt"));을 참조하면 찾을 수 없습니다.

무엇을해야합니까? 어떤 디렉토리가 실제로 들여다 보입니까?

자산은 읽기 전용입니다. 텍스트 파일을 읽고 업데이트 할 수있는 곳이 필요합니다.

+1

ツ 당신을 도울 것입니다 희망 확실 수업이 /src/com.example.myapp/에서가 아니라 /에있는 SRC/COM/예/MyApp를/ –

+0

예, 당신이 옳은 것입니까 . 그러나 Eclipse는 마침표로 나타냅니다. 나는 무엇을 넣어야할지 확신하지 못했습니다. – user83039

+0

[안드로이드 개발 열린 파일 txt 및 반환 내용] 가능한 중복 (http://stackoverflow.com/questions/11206082/android-development-open-file-txt-and-return-content) –

답변

0

당신은 편집 모드로 파일을 수행 할 수 있습니다 use Internal/External Storage

그런 다음 원하는 경우 당신도이 파일에 기록 할 수

String filePath = context.getFilesDir().getAbsolutePath(); //returns current directory. 
File file = new File(filePath, fileName); 
try { 
    BufferedReader br = new BufferedReader(new FileReader(file)); 
    while ((line = br.readLine()) != null) { 
     text.append(line); 
     text.append('\n'); 
    } 
} 
catch (IOException e) { 

} 
return text.toString(); //the output text from file. 

: 당신은 그것을 읽을 수

String filename = "myfile"; 
String string = "ur data"; 
FileOutputStream outputStream; 

try { 
    outputStream = openFileOutput(filename, Context.MODE_PRIVATE); 
    outputStream.write(string.getBytes()); 
    outputStream.close(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

0

사용 assets directory :

자산/

이 비어 있습니다. 원시 자산 파일을 저장하는 데 사용할 수 있습니다. 여기에 저장 한 파일은 그대로 .apk 파일로 컴파일되며 원래 파일 이름은 그대로 유지됩니다. URI를 사용하는 일반적인 파일 시스템과 동일한 방식으로이 디렉토리를 탐색하고 AssetManager를 사용하여 파일을 바이트 스트림으로 읽을 수 있습니다. 예를 들어, 텍스처 및 게임 데이터를위한 좋은 위치입니다.

+0

어떻게 참조 할 수 있습니까? '/ appPackage/assets/mytext.txt'? – user83039

+1

'getAssets(). open ("mytext.txt")'를 사용할 수 있어야합니다.여기를 참조하십시오 : http://stackoverflow.com/a/11206396/4088425 – ipavl

+0

링크를 읽는 것은 아무 것도 보지 않습니다 :'getAssets()'를 가져와야합니까? – user83039

1

assets 폴더를 사용하십시오. 여기

Loading array from a text file in assets folder (Android)

당신은 다음에 파일을 배치 루트 프로젝트 폴더에 assets 폴더를 만들 ... 예입니다. 그것은 거기 후에는이 방법으로 액세스 :

getAssets().open("file.txt"); 

getAssets 방법은 당신의 활동/컨텍스트의 일부입니다. 컨텍스트 캐리어는 앱에 대한 많은 정보를 제공합니다. 당신은 활동이 아닌 경우

, 당신은 당신의 클래스에 Context를 통과하고 사용할 수 있습니다이 :

context.getAssets().open("file.txt"); 
+0

어떻게 가져올 수 있습니까? – user83039

+0

@ Kick - 내 답변을 편집했습니다. 그리고 경고/제안에 감사드립니다! – Jim

+0

@jim은 더 유익 해 보입니다. –

관련 문제