프로그래밍하지 않은 주 이후에 나는 내 신청서를 마치기로 결정했습니다. 지난 번에 필자는 파일 쓰기 및 읽기를 할 수 없었으므로 지금하고 싶습니다. 아마도 데이터베이스를 사용할 수 있지만 이것은 훨씬 쉬워 보입니다. 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());
}
}
예 :
- 하나의 항목을 assignArr에 넣습니다.
- 항목이 파일에 기록됩니다.
- 나는 앱을 닫는다. AssignArr은 변수이므로 비어 있습니다.
- 앱을 엽니 다.
- 항목을 assignArr에 넣습니다.
- 나는 앱을 닫는다. AssignArr은 변수이므로 비어 있습니다.
- 마지막 항목 만 보여주는 파일을 엽니 다.
올바른 내용입니다. true는 오버로드 된 생성자에 대한 플래그로 >> 대신 >>를 허용합니다. – Eric