一 Android——数据存储(二十一)( 二 )


1.3 小结
(1)可以实现简单的数据存储功能实现,可以利用super.()方法取得实例;
2.文件存储 2.1 知识点
(1)掌握对文件存储的若干操作;
(2)可以实现文件的保存和读取操作 。
2.2 具体内容
对于文件存储这块,必须要先掌握IO的基本操作,,。
了解一下IO流对文件的操作:
·使用File找到一个指定的文件
·使用字节流或者字符流的子类为父类进行实例化
·完成输入/输出的操作
·关闭流
举例:向文件中写入内容—输出,我们的输入输出是对于程序而言 。
范例:本次还是以文件保存为主,不再进行页面的编写 。
package com.example.filesave;import java.io.FileOutputStream;import java.io.PrintStream;import android.app.Activity;import android.os.Bundle;public class FileSaveActivity extends Activity {public static final String FILENAME = "wanczy.txt";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_file_save);FileOutputStream output = null;PrintStream out = null;try {output = super.openFileOutput(FILENAME, Activity.MODE_PRIVATE);//使用Activity提供的方法创建了一个文件字节输出流//在IO操作中,打印流操作是最方便的out = new PrintStream(output);out.print("姓名:毛栗子");out.print("年龄:30");out.print("地址:兰州市庆阳路128号");} catch (Exception e) {} finally{out.close();}}}
那么现在既然可以写入内容到文件,当然我们也可以将内容从文件中拿出来,那么对于读取文件,那肯定需要将文件内容放入到中显示 。

以后的读取的内容就放在msg这个文本显示组件上,如果大家学习过Java的话,应该很清楚,使用对于输出来说很方便,对于输入呢,使用什么最方便呢?使用扫描类肯定是最方便的,就是
package com.example.filesave;import java.io.FileInputStream;import java.util.Scanner;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;public class FileSaveActivity extends Activity {private static final String FILENAME = "wanczy.txt";private TextView msg = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_file_save);this.msg = (TextView) super.findViewById(R.id.msg);FileInputStream input = null;Scanner sc = null;try {input = super.openFileInput(FILENAME);//使用Activity提供的方法创建了一个文件字节输出流//在IO操作中,打印流操作是最方便的sc = new Scanner(input);String content = sc.next();//读取数据this.msg.setText("读取的信息为:"+content);} catch (Exception e) {} finally{sc.close();}}}
以上的这种写法就是比较标准的程序 。
范例:向SD卡上保存文件
package com.example.filesave;import java.io.File;import java.io.FileOutputStream;import java.io.PrintStream;import android.app.Activity;import android.os.Bundle;public class FileSaveActivity extends Activity {public static final String FILENAME = "/mnt/sdcard/wanczy/jjm/wanczy.txt";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_file_save);FileOutputStream output = null;PrintStream out = null;try {File file = new File(FILENAME);if(!file.getParentFile().exists()){//如果文件夹不存在file.mkdirs();}output = new FileOutputStream(file,true);//表示创建了一个文件的字节输出流,这种写法不能进行文件内容的追加//在IO操作中,打印流操作是最方便的out = new PrintStream(output);out.print("姓名:毛栗子");out.print("年龄:30");out.print("地址:兰州市庆阳路128号");} catch (Exception e) {} finally{if(null != out){out.close();}}}}