Android的数据存储--File
来源:互联网 发布:复杂网络上的博弈 编辑:程序博客网 时间:2024/05/21 12:43
Context为我们提供了以下的几个方法
方法名称
描述
FileInputStream openFileInput(String name)
打开应用程序的数据文件夹下的name文件对应的输入流
FileOutputStream openFileOutput(String name,int mode)
打开应用程序的数据文件夹下的name文件对应的输出流,并且指定以某种方式打开。
第二个方法里的第二个参数有以下几种取值:
MODE_PRIVATE:说明该文件只能被当前的应用程序所读写
MODE_APPEND:以追加方式打开该文件,应用程序可以向该文件中追加内容。
MODE_WORLD_READABLE:该文件的内容可以被其他的应用程序所读取
MODE_WORLD_WRITEABLE:该文件的内容可以被其他的应用程序所读、写
还有一些Context为我们提供了其他几个方法用来访问应用程序的数据文件夹
方法名称
描述
getDir(String name,int mode)
在应用程序的数据文件下获取或创建name对应的子目录
File getFilesDir()
得到该应用程序数据文件夹的绝对路径
String[] fileList()
等到该应用程序数据文件夹下的全部文件
deleteFile(String name)
删除该应用程序的数据文件夹下的指定文件
文件存储的位置: /data/data/<package name>/files/
关于IO流的一些内容,可以参看我之前写的一篇博客:
http://blog.csdn.net/jiahui524/article/details/6869524
http://blog.csdn.net/jiahui524/article/details/6869615
实例:File的简单操作
- package com.jiahui.filedemo;
- import java.io.FileNotFoundException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- public class FileDemoActivity extends Activity {
- private Button btnWrite, btnRead, btnGetDir;
- private EditText edtContent;
- private TextView tvResult, tvFileDir;
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- edtContent = (EditText) this.findViewById(R.id.edtContent);
- tvResult = (TextView) this.findViewById(R.id.tvResult);
- tvFileDir = (TextView) this.findViewById(R.id.tvFileDir);
- btnWrite = (Button) this.findViewById(R.id.btnWrite);
- btnRead = (Button) this.findViewById(R.id.btnRead);
- btnGetDir = (Button) this.findViewById(R.id.btnGetDir);
- // 写入数据
- btnWrite.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- try {
- String content = edtContent.getText().toString();
- // 以追加方式写入数据
- OutputStream outputStream = FileDemoActivity.this
- .openFileOutput("test.txt", MODE_APPEND);
- if (content != null) {
- outputStream.write(content.getBytes(), 0,
- content.getBytes().length);
- }
- outputStream.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- //读取数据
- btnRead.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- try {
- StringBuilder sb = new StringBuilder();
- InputStream inputStream = FileDemoActivity.this
- .openFileInput("test.txt");
- byte[] buffer = new byte[1024];
- int len = 0;
- while ((len = inputStream.read(buffer)) != -1) {
- sb.append(new String(buffer, 0, len));
- }
- tvResult.setText("读取结果为:" + sb.toString());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- });
- //得到相应文件的绝对路径
- btnGetDir.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String absolutePath = FileDemoActivity.this.getFileStreamPath(
- "test.txt").getAbsolutePath();
- tvFileDir.setText(absolutePath);
- }
- });
- }
- }
实现效果:
用File Explorer查看,我们可以看到在相应的包下如下效果:
如需转载引用请注明出处:http://blog.csdn.net/jiahui524
- Android的数据存储--File
- Android的数据存储--File
- Android的数据存储--File
- Android的数据存储--File
- Android之Android的数据存储--File
- 【Android数据存储】- File
- Android数据存储:File存储
- Android数据存储----File 存储
- Android中数据的存储之--------File
- Android 数据存储这File
- Android数据存储之File
- Android----数据存储之File
- Android数据存储之File
- Android 中File数据存储
- Android数据存储之File
- Android 之File数据存储--File
- 20、从头学Android之Android的数据存储--File
- 从头学Android之Android的数据存储--File
- flex PopUpManager弹出窗口
- 通过ATL实现IUnknown接口
- Objdump
- 设计模式之(二)Adapter模式
- EASBos 对于某个权限的验证
- Android的数据存储--File
- struts2配置之全局result及异常处理
- 玻璃纤维工艺流程
- 记录一些有用的URL
- 升级ios7的时候遇到CCLabelTTF有些内容不能显示
- LIB和DLL的区别与使用
- Xcode分析CrashLog的方法
- java eclipse 生成注释
- php上传思路很重要 举一反三