2014-01-14 3 views
-2

저는 이것이 널리 논의 된 질문이라는 것을 알고 있습니다. 그러나 나는 안드로이드 개발자 매뉴얼에 제공된 예제들과 정말 혼동 스럽습니다. 그래서 내 res/raw 폴더에 "source.txt"가 있습니다. 예를 들어, Hello. nWorld의 경우 두 줄을 써서 다른 활동에서 읽어 들이고 싶습니다. 누구든지이 소스 코드를 작성할 수 있습니까?txt 파일에서 쓰고 읽으십시오 android

답변

2

당신은 당신이

public String readFile(String filePath) { 

     String jString = null; 
     StringBuilder builder = new StringBuilder(); 

     File yourFile = new File("/sdcard/" + filepath); 
     if (yourFile.exists()) { 
      Log.i("file", "file founded"); 

      BufferedReader bufferedReader = null; 
      try { 
       bufferedReader = new BufferedReader(new FileReader(yourFile)); 
      } catch (FileNotFoundException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      String row = ""; 

      try { 
       while ((row = bufferedReader.readLine()) != null) { 

        builder.append(row + "\n"); 
       } 

       bufferedReader.close(); 


      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      jString = builder.toString(); 
     } 

     else { 

      Log.i("FAIL", "FILE NOT FOUND"); 
     } 

     return jString; 
    } 
을 할 수있는 파일을 읽는 당신은 AndroidManifest.xml에

에서 쓰기 텍스트에 대한 권한을 부여해야합니다 extornal 또는 내부 storage.And에 .txt 인 파일을 교체해야합니다 쓰기 파일

public void writetoFile(String filename,String text) { 

     File file = new File("/sdcard/" + filename); 
     if (!file.exists()) 
      try { 
       file.createNewFile(); 
      } catch (IOException e1) { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 

     FileWriter fileWriter; 
     try { 
//you can change second parametre true or false this is about append or clean and write 
      fileWriter = new FileWriter(file, false); 

      BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); 
      bufferedWriter.append(jsonText); 

      bufferedWriter.close(); 

     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 
을 사용할 수 있습니다
0

APK 파일에있는 내용은 모두 읽기 전용이므로, 사용자의 APK에 그대로 남아 있기 때문에 res/raw 소스 폴더에 저장된 파일에 쓸 수 없습니다. 앱과 함께 제공되는 파일로 작업하려면 먼저 내부 저장 용량이나 APK의 SD 카드를 복사하여 콘텐츠를 변경할 수 있도록해야합니다.

0

apk의 모든 파일은 입니다. 읽기 전용은이므로 내부 저장소 또는 SD 카드에 파일을 만들어야합니다. 소량의 데이터를 두 번째 활동으로 보내려는 경우 인 텐트와 함께 데이터를 보내거나 sharedPreference을 사용할 수 있습니다.

SD 카드에서 데이터를 읽고 쓰고 싶다면 FileInputStream 및 OutputStreamWriter를 사용하여 데이터를 읽고 쓸 수 있어야합니다. 이 튜토리얼을 확인하여 완료 방법을 확인하십시오. http://www.java-samples.com/showtutorial.php?tutorialid=1523

관련 문제