1.保存文件到内存储(date/data目录下),使用输出流
2从内存储中读取文件,使用输入流
3.把文件从内存储中删除
程序代码:
package com.example.administrator.jreduch08; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; public class InnerIoActivity extends AppCompatActivity { private EditText content; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_inner_io); Button save= (Button) findViewById(R.id.save); Button read= (Button) findViewById(R.id.read); Button delete= (Button) findViewById(R.id.delete); content= (EditText) findViewById(R.id.content); final TextView show= (TextView) findViewById(R.id.show); save.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { saveFile(); } }); read.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { show.setText(readFile()); } }); delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { removeFile(); } }); } //把文件从内存储中删除 public void removeFile(){ String[] files=fileList(); for(String str:files){ Log.d("====", str); if(str.equals("text.txt")){ deleteFile("text.txt"); break; } } } //保存文件到内存储(date/data目录下),使用输出流 public void saveFile(){ FileOutputStream fos=null; try { /*openFileOutput返回一个 输出字节流 指向的路径为 data/date/包名/files 参数1:文件名称(如果不存在则自动创建) 参数2: 模式 MODE_APPEND文件内容可追加 模式 MODE_PRIVATE文件内容可覆盖 * */ fos=openFileOutput("text.txt", MODE_PRIVATE); String str=content.getText().toString(); fos.write(str.getBytes()); Toast.makeText(getBaseContext(),"保存成功",Toast.LENGTH_SHORT).show(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { if(fos!=null){ try { fos.flush(); fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } //从内存储中读取文件,使用输入流 public String readFile(){ BufferedReader reader=null;//包装流 FileInputStream fis=null; StringBuilder sbd=new StringBuilder(); try { fis=openFileInput("text.txt"); reader=new BufferedReader(new InputStreamReader(fis)); sbd.append(getFilesDir().getCanonicalPath());//得到文件的路径 String row=""; while((row=reader.readLine())!=null){ sbd.append(row); } } catch (FileNotFoundException e) { // e.printStackTrace(); Toast.makeText(getBaseContext(),"文件不存在",Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); }finally { if(reader!=null){ try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } return sbd.toString(); } }
.