Android系统允许应用程序创建仅能够自身访问的私有文件,文件保存在设备的内部存储器上,在Linux系统下的/data/data/<package name>/files目录中



系统读取保存的文件



下面来演示程序


public class Android_DBActivity extends Activity implements OnClickListener{private final String FILE_NAME = "fileDemo.txt";private TextView labelView;private TextView displayView;private CheckBox appendBox ;private EditText entryText;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);setupViews();}private void setupViews(){labelView = (TextView) findViewById(R.id.label);displayView = (TextView) findViewById(R.id.display);appendBox = (CheckBox) findViewById(R.id.append);entryText = (EditText) findViewById(R.id.entry);findViewById(R.id.write).setOnClickListener(this);findViewById(R.id.read).setOnClickListener(this);entryText.selectAll();entryText.findFocus();}@Overridepublic void onClick(View v){switch (v.getId()){case R.id.write:FileOutputStream fos = null;try{if (appendBox.isChecked()){fos = openFileOutput(FILE_NAME, Context.MODE_APPEND);}else{fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE);}String text = entryText.getText().toString();fos.write(text.getBytes());labelView.setText(String.format("文件写入成功,写入长度:%d", text.length()));} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}finally{if (fos != null){try{fos.flush();fos.close();} catch (IOException e){e.printStackTrace();}}}break;case R.id.read:displayView.setText("");FileInputStream fis = null;try{fis = openFileInput(FILE_NAME);if (fis.available() == 0){return;}byte[] buffer = new byte[fis.available()];while(fis.read(buffer) != -1){}String text = new String(buffer);displayView.setText(text);labelView.setText(String.format("文件读取成功,文件长度:%d", text.length()));} catch (FileNotFoundException e){e.printStackTrace();} catch (IOException e){e.printStackTrace();}break;}}}


Android系统支持四种文件操作模式

MODE_PRIVATE 私有模式,缺陷模式,文件仅能够被文件创建程序访问,或具有相同UID的程序访问。
MODE_APPEND 追加模式,如果文件已经存在,则在文件的结尾处添加新数据。
MODE_WORLD_READABLE 全局读模式,允许任何程序读取私有文件。
MODE_WORLD_WRITEABLE 全局写模式,允许任何程序写入私有文件。


更多相关文章

  1. Android(安卓)6.0 读写SD卡权限问题(续)
  2. 常用到的Android命令(持续更新)
  3. java.io.IOException: open failed: EINVAL (Invalid argument)
  4. android 9.0 访问http
  5. Android(安卓)自定义 attr
  6. 图片切换ImageSwitcher&Gallery
  7. Http的请求方式
  8. 自定义加载动画的两种实现方式
  9. Android端通过httpCilent访问Tomcat服务器servlet

随机推荐

  1. 6种Scrum工具来提高团队的生产力
  2. Linux系统内存使用率该怎么计算
  3. 什么是DevOps?微软架构师的回答来了
  4. Prometheus为何脱颖而出?
  5. Ansible与cmdb配合使用动态inventory
  6. JDK安装及注意事项
  7. 最丝滑的k8s部署工具Sealos,你说香不香?
  8. M1 版 MacBook SSD 为何会损耗巨大?
  9. 操作系统-进程的初步实现
  10. Linux内核开发双机调试(KGDB)