×

android文件数据写入

android文件数据写入(android文件存储数据)

admin admin 发表于2023-04-03 10:26:10 浏览64 评论0

抢沙发发表评论

本文目录一览:

Android如何使用文件进行数据存储

Activity提供了openFileOutput()方法可以用于把数据输出到文件中 具体的实现过程与在J SE环境中保存数据到文件中是一样的

public class FileActivity extends Activity {

@Override public void onCreate(Bundle savedInstanceState) {

# ;

FileOutputStream outStream = this openFileOutput(# ;itcast txt# ; Context MODE_PRIVATE);

outStream write(# ;传智播客# ; getBytes());

outStream close();

}

}

openFileOutput()方法的第一参数用于指定文件名称 不能包含路径分隔符 / 如果文件不存在 Android 会自动创建它 创建的文件保存在/data/data/package name/files目录 如 /data/data/cn itcast action/files/itcast txt 通过点击Eclipse菜单 Window Show View Other 在对话窗口中展开android文件夹 选择下面的File Explorer视图 然后在File Explorer视图中展开/data/data/package name/files目录就可以看到该文件 -android文件数据写入

openFileOutput()方法的第二参数用于指定操作模式 有四种模式 分别为 Context MODE_PRIVATE ?=?

Context MODE_APPEND ?=?

Context MODE_WORLD_READABLE =?

Context MODE_WORLD_WRITEABLE =?

Context MODE_PRIVATE 为默认操作模式 代表该文件是私有数据 只能被应用本身访问 在该模式下 写入的内容会覆盖原文件的内容 如果想把新写入的内容追加到原文件中 可以使用Context MODE_APPEND-android文件数据写入

Context MODE_APPEND 模式会检查文件是否存在 存在就往文件追加内容 否则就创建新文件

Context MODE_WORLD_READABLE和Context MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件

MODE_WORLD_READABLE 表示当前文件可以被其他应用读取 MODE_WORLD_WRITEABLE 表示当前文件可以被其他应用写入

如果希望文件被其他应用读和写 可以传入

openFileOutput(# ;itcast txt# ; Context MODE_WORLD_READABLE + Context MODE_WORLD_WRITEABLE);

lishixinzhi/Article/program/yd/201404/30438

android 将数据写入文件中并导出。

@Override

public void onClick(View view) {

    String state = Environment.getExternalStorageState();//获取外部设备状态

    

    //检测外部设备是否可用

    if(!state.equals(Environment.MEDIA_MOUNTED)) {

        Toast.makeText(this, "外部设备不可用", Toast.LENGTH_SHORT).show();

        return;

    }

 

    //创建文件

    File sdCard = Environment.getExternalStorageDirectory();//获取外部设备的目录

    File file = new File(sdCard,"文件名.txt");//文件位置

    try {

        FileOutputStream outputStream = new FileOutputStream(file);//打开文件输出流

        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream));//写入到缓存流

        writer.write("这里是要写入到文件的数据");//从从缓存流写入

        writer.close();//关闭流

        Toast.makeText(this, "输出成功", Toast.LENGTH_SHORT).show();

    }

    catch(Exception exception) {

        Toast.makeText(this, "输出失败", Toast.LENGTH_SHORT).show();

    }

}

写入到文件管理时需要权限

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/

Android 文件存储-将数据保存在data目录下

  在平常使用Android手机的时候,我们都知道,几乎每一个app都在/data/data/相应的包名的文件夹下保存数据。那这些数据怎么进行保存的呢?在这里,将简单的介绍一下。

  Context类中有一个openFileOutPut方法,这个方法可以将我们的数据保存在data目录下的文件里面。

  openFileOutput(String name, int mode)方法中带两个参数,第一个参数是文件名,这里只能写文件的名字,不能包含路径,因为所有的数据都保存在/data/data/应用包名/files/目录下;第二个参数是文件的操作模式,有MDOE_PRIVATE,MODE_APPEND,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。-android文件数据写入

  其中MODE_PRIVATE模式的是默认的操作模式,每一次写入的内容时,都会覆盖前面的内容;MODE_APPEND模式表示的是每次写入的内容追加在前面的后面;MODE_WORLD_READABLE表示的是其他应用程序可以对该文件进行写的操作;MODE_WORLD_WRITEABLE表示的是其他应用程序可以对该文件进行读的操作。不过在后面的两种模式过于危险,google已经在Android 4.2中废弃了。-android文件数据写入

  openFileOutput()方法返回的是一个FileOutPutStream的对象,得到了这个对象,就可以使用Java的IO流来对文件的使用了。

  点击保存过后,就会把我们的数据保存在data目录下。

  如果我们想要查看的话,就可以在Android studio(我是2.3.2的版本)中找到Tools-Android-Android Device Monitor

  再打开/data/data/应用包名/files/,发现有一个文件,就是我们之前创建的一个文件。

  我们可以点击右上角的图标进行相应的导出工作,对相应的文件进行导出操作。

  在Context类中,与openFileOutput方法对应的是openFileInput方法,用户从data目录读取相应的数据。这个方法相较于openFileOutput方法简单一些。

效果示意图: