首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

玩转Android-组件篇-数据储存之File

2012-08-27 
玩转Android---组件篇---数据存储之File我们可以将一些数据直接以文件的形式保存在设备中。例如,一些文本文

玩转Android---组件篇---数据存储之File

我们可以将一些数据直接以文件的形式保存在设备中。例如,一些文本文件,PDF文件,音频文件,视频文件和图片等。Android提供了文件读写的方法。

通过Context.openFileInput()方法获得标准JAVA文件输入流(FileInputStream),通过Context.openFileOutput()方法获得标准的java文件输出流(FileOutputStream)。使用Resources.openRawResource(R.raw.DataFile)方法返回InputStream。

?

接下来通过一个小例子来掩饰File读写文件。创建一个Activity,在其中放置两个EditText和连个Button,第一个EditText和Button将EditText的内容写到文件temp.txt文件中。第二个EditText和Button将内容从文件temp.txt中读取出来显示。问价被默认保存在/data/data/package/files下面。

?

main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><EditTextandroid:id="@+id/edit1"android:layout_width="fill_parent"android:layout_height="60dip"/><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="写入数据"/><EditTextandroid:id="@+id/edit2"android:layout_width="fill_parent"android:layout_height="60dip"/><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="读取数据"/></LinearLayout>

?

FileTest.java

package org.hualang.file;import java.io.FileInputStream;import java.io.FileOutputStream;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class FileTest extends Activity {    /** Called when the activity is first created. */private Button read,write;private EditText text1,text2;private static final String FILE_NAME="temp.txt";    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        write=(Button)findViewById(R.id.button1);        read=(Button)findViewById(R.id.button2);        text1=(EditText)findViewById(R.id.edit1);        text2=(EditText)findViewById(R.id.edit2);                //设置按钮事件监听器        write.setOnClickListener(new OnClickListener()        {        public void onClick(View v)        {        //写内容        write(text1.getText().toString());        }        });                read.setOnClickListener(new OnClickListener()        {        public void onClick(View v)        {        //读内容        text2.setText(read());        }        });    }    //读方法    private String read()    {    try    {    //实例化文件输入流对象    FileInputStream fis=openFileInput(FILE_NAME);    //定义缓存数组    byte[] buffer=new byte[fis.available()];    //读取到缓冲区    fis.read(buffer);    return new String(buffer);    }catch(Exception e)    {    e.printStackTrace();    }    return null;    }    //写方法    private void write(String content)    {    try    {    //实例化文件输入流    FileOutputStream fos=openFileOutput(FILE_NAME,MODE_APPEND);    //写内容    fos.write(content.getBytes());    //关闭文件流    fos.close();    }catch(Exception e)    {    e.printStackTrace();    }    }}

?

运行结果如下:

?

?
玩转Android-组件篇-数据储存之File
?
玩转Android-组件篇-数据储存之File
?

?

热点排行