File: 即常說的檔案(I/O)儲存方法,常用儲存大數量的資料,但是缺點是更新資料將是一件困難的事情。
下面實現:在本地data檔案下使用自己產生的檔案處理資料的建立儲存 讀取 刪除
如果說不想把內容存在SharedPreferences中的話,我們可以自己寫一個檔案儲存須要的資料,在這裡我將檔案儲存在系統中的工程路徑下。
跟上面布局一樣,刪除檔案也一樣,清除內容也查不多,下面只是簡單的寫和讀的方法:
寫:
[java]
<SPAN style="FONT-SIZE: 12px">String nameage="名字:"+name.getText().toString().trim()+"年齡:"+age.getText().toString();
try {
os = this.openFileOutput(SHARED_MAIN_XML, MODE_PRIVATE);
/* 把字串轉換成位元組數組,寫入檔案中 */
os.write(nameage.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
/* 關閉檔案輸出資料流 */
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}</SPAN>
String nameage="名字:"+name.getText().toString().trim()+"年齡:"+age.getText().toString();
try {
os = this.openFileOutput(SHARED_MAIN_XML, MODE_PRIVATE);
/* 把字串轉換成位元組數組,寫入檔案中 */
os.write(nameage.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
/* 關閉檔案輸出資料流 */
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
讀:
[java]
<SPAN style="FONT-SIZE: 12px">private String read() {
String nameage="";
// 開啟檔案輸入資料流,
try {
is = this.openFileInput(SHARED_MAIN_XML);
/* 初始化位元組數組 */
b = new byte[1024];
/* 從檔案輸入資料流中讀取內容到位元組數組中,返回內容長度 */
int length = is.read(b);
/* 把位元組數群組轉換成字串 */
nameage= new String(b);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return nameage;
}
</SPAN>
private String read() {
String nameage="";
// 開啟檔案輸入資料流,
try {
is = this.openFileInput(SHARED_MAIN_XML);
/* 初始化位元組數組 */
b = new byte[1024];
/* 從檔案輸入資料流中讀取內容到位元組數組中,返回內容長度 */
int length = is.read(b);
/* 把位元組數群組轉換成字串 */
nameage= new String(b);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return nameage;
}