本文实例总结了Android手机内存中文件的读写方法。分享给大家供大家参考。具体分析如下:
如何对手机内存中的文件数据进行读写呢?
Context提供了领个方法来打开该应用程序的数据文件夹中的文件I/O流,具体如下:
1
|
FileInputStream openFileInput(String name)
|
打开应用程序的数据文件夹下的name文件对应的数据流
1
|
FileOutputSream openFileOutput(String name, int mode)
|
打开应用程序数据文件夹下的name文件对应的输出流,mode指定文件打开的模式,该模式主要有一下4种:
①MODE_PRIVATE(该文件只能被当前应用程序读写)
②MODE_APPEND(以追加方式打开,可以在文件中追加内容)
③MODE_WORLD_READABLE(该文件内容可以被其他应用程序读取)
④MODE_WORLD_WRITEABLE(该文件内容可以被其他应用程序度,写)
读取文件:
假设name为要打开的文件名字
1
2
3
4
5
6
7
8
9
|
FileInputStream f = openFileInput(name);
byte [] buf = new byte [ 1024 ];
int hasRead = 0 ;
StringBuilder sb = new StringBuilder( "" );
while ((hasRead = f.read(buf)> 0 ))
{
sb.append( new String(buf, 0 , hasRead));
}
f.close();
|
获取文件内容字符串:
1
|
sb.toString();
|
写文件:
假设要写入的字符串为content
1
2
3
4
|
FileOutputStream f = openFileOutput(name,MODE_APPEND);
PrintStream temp = new PrintStream(f);
temp.println(content);
temp.close();
|
注:应用程序的数据文件默认保存在/data/datea<package name>/files目录下,使用openFileInput和openFileOutput方法来打开文件输入流,输出流时,打开的都是应用程序的数据文件夹里的文件,也就是说是在手机内存中的文件,而不是SD卡中的文件。
希望本文所述对大家的Android程序设计有所帮助。