Để ghi dữ liệu, ta dùng lớp FileOutputStream.
Vẫn ở class đang thực hành, bạn chọn một
textView bất kỳ để dùng.
Copy đoạn code sau vào dưới dòng tham chiếu địa
chỉ findViewByid.
String vao="Đây là dòng ghi
vào";
try {
FileOutputStream fos = openFileOutput("ghivao.txt", Context.MODE_APPEND);
OutputStreamWriter osw = new
OutputStreamWriter(fos);
osw.append(vao);
osw.flush();
osw.close();
} catch
(FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Ở đây ta ghi một chuỗi vào thành file có tên ghivao.txt, để biết đã ghi được chưa, ta sẽ đọc file
đó rồi set ra textView đã chọn.
String docra="";
try {
String
FILE_NAME = "ghivao.txt";
FileInputStream
fIS = openFileInput(FILE_NAME);
byte[] arrayData = new byte[fIS.available()];
if((fIS.read(arrayData))!=
-1){
String
fileContent = new String(arrayData);
docra=fileContent;
tv.setText(docra);
}
fIS.close();
}
catch (Exception e) {
//Log.e("Error",
e.toString());
}
Ta mở file cần đọc là cái vừa ghi vào, đọc file đó rồi
set dữ liệu ra textView.
Chạy thử để thấy dòng chữ đã được đọc ta, tức là trước đó
nó được ghi vào thành công.
Nếu bạn thoát rồi mở lại class này nhiều lần, bạn sẽ thấy
cứ mỗi lần lại có thêm dòng chữ “Đây là dòng ghi vào” được ghi nối vào đuôi.
Đó là vì file đã ghi trước vẫn ở đó, nên dữ liệu cứ thế
thêm vào. Vì đây chỉ là ví dụ nên điều đó không ảnh hưởng đến lệnh ghi và đọc.
Vấn đề là ta đã biết cách ghi và đọc file đó ra.
No comments:
Post a Comment