3.2 文件存储

1. 写文件

FileOutputStream out = openFileOutput("info1.txt", MODE_PRIVATE);
            String content = contentEt.getText().toString();
            byte[] bytes = content.getBytes();
            out.write(bytes);
            out.close();

  首先声明一个文件输出流,使用系统提供的openFileOutput来获取该输出流,获取输出流时需指明输出流对应的文件名称,以及该文件的使用模式.使用模式分为MODE_APPEND即向文件尾写入数据、MODE_PRIVATE即仅打开文件可写入数据、MODE_WORLD_READABLE所有程序均可读该文件数据、MODE_WORLD_WRITABLE即所有程序均可写入数据。

2. 读文件

FileInputStream in = openFileInput("info1.txt");
            byte[] buffer = new byte[1024];
            in.read(buffer);
            String str = EncodingUtils.getString(buffer, "UTF-8");
            this.contentEt.setText(str.toString());
            in.close();

  另: 静态文件或者成嵌入式文件,该文件为程序的一部分,在编写时放入程序的资源目录中,程序编译时会将改文件,作为程序的一部分一起编译,该文件一般存放在res/raw文件夹下,文件的名称可以通过R.raw.fileName来访问。该类型文件的读取方式如下:

InputStream in = getResources().openRawResource(R.raw.test);

读取SD上的文件

  SDCard文件是指存放在SD卡上的文件,进行SD卡操作前,请确保已安装SD卡且保证已配置允许对SD卡进行操作.对SD开的权限配置在文件AndroidManifest.xml中,需写入一下代码:

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> // 创建删除文件权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>     // 写入权限

在程序中操作SD卡前,也需判断是否已安装SD卡,判断的方法如下:

if(Environment.getExternalStorageDirectory().equals(Environment.MEDIA_MOUNTED)){……}

向SD中写入文件数据的代码如下:

File sdcDir = Environment.getExternalStorageDirectory();
File file = new File(sdcDir,"info.txt");
try {
    FileOutputStream out = new FileOutputStream(file);
    String content = contentEt.getText().toString();
    out.write(content.getBytes());
    out.close();
} catch (FileNotFoundException e) {
    ……
}

读取的方法与上类似,代码如下:

File sdcDir = Environment.getExternalStorageDirectory();
File file = new File(sdcDir,"info.txt");
FileInputStream in;
try {
    in = new FileInputStream(file);
    byte[] buffer = new byte[1024];
    in.read(buffer);
    String str = EncodingUtils.getString(buffer, "UTF-8");
    this.contentEt.setText(str.toString());
    in.close();
} catch (FileNotFoundException e) {
    ……
}
时间: 2024-11-09 06:05:01

3.2 文件存储的相关文章

PHP通过文件存储来实现缓存

PHP通过文件存储来实现缓存 在一些数据库数据记录较大,但是服务器有限的时候,可能一条MySQL查询就会好几百毫秒,一个简单的页面一般也有十几条查询,这个时候也个页面加载下来基本要好几秒了,如果并发量高的话服务器基本就瘫痪了,造成一个页面很久也加载不下来,这个时候我们可以使用文件缓存来缓解下MySQL的压力,下面给个使用例子. [php] view plaincopy <?php //页面业务逻辑处理,获得结果 $objPage = new Page_IndexModel($arrParams)

Hadoop文件存储的葵花宝典

文件存储分行存储和列存储,每个存储格式里面又分不同的类型,在实际的应用中如何去使用?怎样去使用?快来围观吧! 文件存储格式,我们在什么时候去指定呢?比如在Hve和Ipala中去创建表的时候,我们除了指定列和分隔符,在它的命令行结尾有STORED AS参数,这个参数默认是文本格式,但是文本不适合所有的场景,那么在这里我们就可以改变文本的信息. 那么到底我们应该选择哪些格式呢?每种格式都有什么样的特点呢?我们为什么要去选择这种格式呢? 一.文本文件: 文本文件是Hadoop里面最基本的文件类型,可以

【Android】14.2 外部文件存储和读取

分类:C#.Android.VS2015: 创建日期:2016-02-27 一.简介 1.基本概念 内部存储的私有可用存储空间一般都不会很大,对于容量比较大的文件,例如视频等,应该将其存储在外部存储设备(SD卡)上. 注意,不要将手机内存和手机内插入的存储卡(手机卡.SD卡)混淆在一起,内存是不能持久存储的,一关机所有信息就全部丢失了,而内部存储(移动经销商卖的手机卡,容量小,但是没有它打不了电话).外部存储(SD卡,容量大,各种文件都能保存)都是可以持久存储的设备,因此才叫文件存储. 可以通过

IOS开发--数据持久化篇之文件存储(一)

前言:个人觉得开发人员最大的悲哀莫过于懂得使用却不明白其中的原理.在代码之前我觉得还是有必要简单阐述下相关的一些知识点. 因为文章或深或浅总有适合的人群.若有朋友发现了其中不正确的观点还望多多指出,不胜感激. 什么叫数据持久化: 在这里我就不照搬教科书上抽象的概念了.我觉得既然要把东西写出来就让它简单明了. 要搞清楚数据持久化,首先要知道数据持久化是相对于缓存而言的,缓存是在程序运行的过程中保存在内存中,程序一旦运行结束,其内存就会被释放.缓存在内存中的数据也就随之消失. 那么数据持久化就是要解

iOS开发——数据持久化Swift篇&amp;通用文件存储

通用文件存储 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 @IBOutlet weak var textField: UITextField! 6 7 @IBAction func btnSave(sender: UIButton) { 8 var text = textField.text as NSString 9 10 //写入文件(可序列化) 11 text.writeToFile(getPath("da

文件存储B+树

文件存储要选用B+树这样的数据结构 “文件存储要选用B+树这样的数据结构”——没记错的话,这是严蔚敏那本数据结构书上的一句结论.不知道是我没细看还是她没细讲,反正当时纯粹应试地记了这么个结论.不求甚解终究不是一个好的学习态度,一直以来我都没有细想过这个事情,直到看到了这篇博文 http://blog.csdn.net/v_JULY_v/article/details/6530142. 此文信息量很大,值得mark下来慢慢精读.今天就暂记一下关于磁盘文件存储选用B+ tree这一点以前没深究过的问

SharedPreferences数据、openFileOutput文件、SQLite数据库文件存储位置

在模拟器中: SharedPreferences将XML文件保存在/data/data/<package name>/shared_prefs目录下, openFileOutput方法将文件保存在/data/data/<package name>/files目录下 SQLite数据库文件存放在/data/data/<package name>/databases目录下 SharedPreferences数据.openFileOutput文件.SQLite数据库文件存储位

对象存储、快存储、文件存储的区别

分布式存储的应用场景相对于其存储接口,现在流行分为三种: 对象存储: 也就是通常意义的键值存储,其接口就是简单的GET.PUT.DEL和其他扩展,如七牛.又拍.Swift.S3 块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的EBS,青云的云硬盘和阿里云的盘古系统,还有Ceph的RBD(RBD是Ceph面向块存储的接口) 文

学生成绩管理系统--文件存储

1.学习Java代码分层,各层的作用entity/DAO/DaoImpl/Service/UI/Util/Conn 2.学习字符集编码,文件存取的编码级别.内存或磁盘中只能存0或1,显示得字符其实是操作系统支持的,如UTF-8.若系统不支持某个字符集,那么该字符就会乱码,若使用了错误的编码去读取文件,也会乱码. 设置eclipse文件存储的字符编码: a.点击windows--preferences b.  c. 3.解决IO输出文件中年龄为乱码,将年龄转化为String类型.使用byte[]类

【Android】数据存储-java IO流文件存储

1.数据持久化:将在内存中的瞬时数据保存在存储设备中.瞬时数据:设备关机数据丢失.持久化技术提供一种机制可以让数据在瞬时状态和持久状态之间转换. 2.Android中简单的三种存储方式:文件存储.SharedPreference 存储以及数据库存储. 1.文件存储 :不对数据作任何处理,将数据原封不动地存储到文件中,适合存储一些简单的文本数据和二进制数据. a.将数据存储到文件中 Context类提供了一个openFileOutput()方法,可以用于将数据存储到文件中.这个方法接收两个参数,第