截图就不晒了 主要是两个button (用于保存和读取),一个textview 和一个editview ,分别用于输入和显示
package com.example.zheng.filereadandwrite;
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
public class MainActivity extends AppCompatActivity {
private EditText inputtext;
private TextView showtext;
String filename="test";//文件名,我们可以直接拿来用,不要考虑路径什么的。-_-
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inputtext=(EditText)findViewById(R.id.inputtext);
showtext=(TextView)findViewById(R.id.showtext);
findViewById(R.id.save).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
FileOutputStream fos=openFileOutput(filename,MODE_PRIVATE);
try {
OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");
try {
osw.write(inputtext.getText().toString());
fos.flush();
osw.flush();
osw.close()//后打开的先关闭;
fos.close();
Toast.makeText(getApplicationContext(),"写入完成",Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
});
//读取
findViewById(R.id.read).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
FileInputStream fis=openFileInput(filename);
try {
InputStreamReader isr=new InputStreamReader(fis,"UTF-8");
try {
char input[]=new char[fis.available()];//定义一个字符数组用于储存读取的数据
isr.read(input);
isr.close();
fis.close();
String rd=new String(input); 将字符数组转为字符串
showtext.setText(rd);
} catch (IOException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
});
}
}