Android读写文件基于Java的文件输入输出流
来源:互联网 发布:java 程序员就业班 编辑:程序博客网 时间:2024/06/01 19:14
注:由于排版问题,现在重新修正
一、向本地默认地址存储文件
1 public void save(String filename, String content) throws Exception
2 {
3 FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_PRIVATE);
4 outStream.write(content.getBytes());
5 outStream.close();
6 }
首先创建一个文件输出流对象,它的值等于上下文context调用openFileOutput()方法的返回值,这个openFileOutput()方法将为本应用打开指定的私有文件以供写操作,如果当前文件不存在将创建一个。
方法的两个参数分别指定了文件的名称和读写模式,其中文件名称不能包含路径,文件的位置在:data/data/<package name>/files里面(这个目录可以用getFilesDir()方法得到,类似的getCacheDir()方法可以得到和files同级的cache目录)。读写模式分为4种基本模式,分别是:
MODE_PRIVATE或0 即私有模式:默认模式,文件只能被当前应用操作,而对其它应用透明。如果文件已经存在,新数据会把原有数据覆盖。
MODE_APPEND或32768 即附加模式:文件只能被当前应用操作,而对其它应用透明。如果文件已经存在,新数据会添加在旧数据之后。
MODE_WORLD_READABLE或1 即读模式:允许其他应用对本模式下创建的文件进行读操作。
MODE_WORLD_WRITEABLE或2 即写模式:允许其他应用对本模式下创建的文件进行写操作。
如果允许其他应用对该文件读和写两种操作,参数可以为Context.MODE_WORLD_READABLE+ Context.MODE_WORLD_WRITEABLE或者3,也就是读,写的组合。
然后调用输出流对象的write()写方法,其参数是字节类型,所以要把字符串类型转换为字节,调用getBytes()方法。
最后记得关闭输出流。
二、向SD卡存储文件
1 public void saveToSDCard(String filename, String content) throws Exception
2 {
3 File file = new File(Environment.getExternalStorageDirectory(), filename);
4 FileOutputStream outStream = new FileOutputStream(file);
5 outStream.write(content.getBytes());
6 outStream.close();
7 }
首先在清单文件里配置操作SD卡的权限
1 <!-- 在SDCard中创建与删除文件权限 -->
2 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
3 <!-- 往SDCard写入数据权限 -->
4 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
要想将文件存放到SD卡上面,必须指定目录,这时我们不再像之前一样调用openFileOutput()方法,因为它存放的文件是位于手机本身“内存”里面的,利用File的构造函数可以传入文件地址,有三种常用的,参数分别是目录与文件名,绝对路径,目录路径与文件名
1 public File(File dir, String name)
2 public File(String path)
3 public File(String dirPath, String name)
案例中通过Environment.getExternalStorageDirectory()方法获得Android手机中扩展卡的根目录,然后把file作为参数传给文件输出流的构造器,返回一个输出流,后面的操作和前面的相同。
- Android读写文件基于Java的文件输入输出流
- Java之输入输出流(文件的读写)
- Java的文件(读写)输入输出
- 输入输出流读写文件
- 输入输出流 (文件读写)
- java文件读写(输入输出流)
- Java学习之输入输出流/文件读写
- 基于Java的文件读写
- Android入门--文件的基本输入输出流,读写文件的方法实现
- JAVA文件读写输入输出流关闭问题、JAVA垃圾回收
- JAVA文件读写输入输出流关闭问题、JAVA垃圾回收
- Java的输入输出与文件读写(一)
- java 文件输入输出流 文件的复制
- Java的文件输入输出
- Java的文件输入输出
- JAVA-文件的输入输出
- java文件输入输出流
- JAVA文件输入输出流
- LINUX字符设备驱动总结
- Android里面的匿名类与匿名内部类使用
- android 拨打电话与发送短信
- Android单元测试与日志输出
- 在emeditor中用正则将小写字母转换为大写(and vice versa)
- Android读写文件基于Java的文件输入输出流
- SAX之:SAXParserFactory与SAXParser
- SharedPreferences共享参数类
- 也学微博开发(一)欢迎界面
- Android请求root权限
- 也学微博开发(二)联网登录验证之使用外部jar
- 也学微博开发(三)修正--认证登录
- 也学微博开发(四)-----保存认证信息、菜单栏和微博首页
- bundle实现Activity之间的数据传递