玩Android-组件篇-数据储存之File
玩转Android---组件篇---数据存储之File
我们可以将一些数据直接以文件的形式保存在设备中。例如,一些文本文件,PDF文件,音频文件,视频文件和图片等。Android提供了文件读写的方法。
通过Context.openFileInput()方法获得
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
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=
android:orientation= vertical
android:layout_width= fill_parent
android:layout_height= fill_parent
EditText
android:id= @+id/edit1
android:layout_width= fill_parent
android:layout_height= 60dip
/
Button
android:id= @+id/button1
android:layout_width= wrap_content
android:layout_height= wrap_content
android:text= 写入数据
/
EditText
android:id= @+id/edit2
android:layout_width= fill_parent
android:layout_height= 60dip
/
Button
android: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();
}
}
}
运行结果如下: