2011-05-07 2 views
6

프로그래밍하지 않은 주 이후에 나는 내 신청서를 마치기로 결정했습니다. 지난 번에 필자는 파일 쓰기 및 읽기를 할 수 없었으므로 지금하고 싶습니다. 아마도 데이터베이스를 사용할 수 있지만 이것은 훨씬 쉬워 보입니다. this 페이지에서 코드를 복사하여 붙여 넣었습니다. 적어도 지금은 내 휴대 전화에서 파일의 내용을 확인할 수 있습니다 (당분간 가상 SD 카드를 사용하지는 않지만 확실히 테스트를 가속화 할 것입니다). 문제는이 코드를 사용하여 파일을 쓸 때마다 내 응용 프로그램을 닫은 다음 다시 열어 파일을 다시 쓰게되면 파일의 내용이 다시 설정된다는 것입니다.안드로이드 쓰기 파일

File root = Environment.getExternalStorageDirectory(); 
File file = new File(root, "tomato50.txt"); 
if (assignArr.size() > 0) { 
    try { 
     if (root.canWrite()) { 
      FileWriter filewriter = new FileWriter(file); 
      BufferedWriter out = new BufferedWriter(filewriter); 
      for (int i = 0; i < assignArr.size(); i++) { 
       out.write(assignArr.get(i) + "\n"); 
       Toast.makeText(MainActivity.this, 
         "out: " + assignArr.get(i), Toast.LENGTH_LONG) 
         .show(); 
      } 
      out.close(); 
     } 
    } catch (IOException e) { 
     Log.e("TAG", "Could not write file " + e.getMessage()); 
    } 
} 

예 :

  1. 하나의 항목을 assignArr에 넣습니다.
  2. 항목이 파일에 기록됩니다.
  3. 나는 앱을 닫는다. AssignArr은 변수이므로 비어 있습니다.
  4. 앱을 엽니 다.
  5. 항목을 assignArr에 넣습니다.
  6. 나는 앱을 닫는다. AssignArr은 변수이므로 비어 있습니다.
  7. 마지막 항목 만 보여주는 파일을 엽니 다.

답변

1

BufferWriter 클래스의 append 함수를 사용할 수 있습니다.