Android文件存儲和讀取方式主要用到兩個方法,第一個是文件寫入方法OpenFileOutput();返回的是FileOutputStream對象,第二個是文件讀取方法OpenFileInput();返回的是FileIntputStream對象。
文件寫入方式:
- 1.首先通過OpenFileOutput()方法,這個方法傳人兩個參數(shù),第一個參數(shù)是文件名,第二個參數(shù)是文件的操作模式,獲得FileOutputSteam對象
FileOutputStream out = OpenFileOutput("content",Context.MODE_PRIVATE);
String data="Hello World!"
BufferWriter writer = new BufferWrite(new OutputStreamWriter(out));
writer.write(data);
文件讀取方式:
- 1.首先通過OpenFileInput()方法,這個方法傳入一個參數(shù),文件名,獲得FileInputStream對象
FileInputStream in = OpenFileInput("content");
BufferReader reader = new BufferReader(new inputStreamReader(in));
StringBuilder data = new StringBuilder();
String line;
while((line=reader.readLine())!=null){
data.append(line);
}
完整的Java代碼
package com.example.kevin.filetest;
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.EditText;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class MainActivity extends Activity {
private EditText write;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
write = (EditText) findViewById(R.id.write);
String inputText = load();
//TextUtils.isEmpty判斷字符是否null或空字符,是的就返回true
if (!TextUtils.isEmpty(inputText)) {
write.setText(inputText);
write.setSelection(inputText.length());
Toast.makeText(getApplicationContext(), "讀取結(jié)果返回成功", Toast.LENGTH_LONG).show();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
String data = write.getText().toString();
save(data);
}
//保存文件操作
private void save(String data) {
FileOutputStream out = null;
BufferedWriter writer = null;
try {
out = openFileOutput("content", MODE_APPEND);
writer = new BufferedWriter(new OutputStreamWriter(out));
writer.write(data);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
//讀取文件操作
private String load() {
FileInputStream in = null;
BufferedReader reader = null;
StringBuilder content = new StringBuilder();
try {
in = openFileInput("content");
reader = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = reader.readLine()) != null) {
content.append(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return content.toString();
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。