【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《Android File手机文件存取》,欢迎阅读!
File 手机文件存储读取
专门写一个文件读写的类 提供读写方法
数据输出到文件中
FileOutputStream outStream = context.openFileOutput(“data.txt”, Context.MODE_PRIVATE);
outStream.write(“1112”.getBytes());
outStream.close();
读取文件
openFileInput (String name)
创建的文件保存在/data/data/<package name>/files目录,如: /data/data/<pag>/files/data.txt
********************
文件操作模式
Context.MODE_PRIVATE:默认操作模式,私有数据,只能被应用本身访问
写入的内容会覆盖原文件的内容
如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
**********************
读取文件详解:需要Context对象
FileInputStream fInputStream = context.openFileInput("file.txt");
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len=-1;
while((len=fInputStream.read(buffer))!=-1)
{
outStream.write(buffer,0,len);
}
String s= new String(outStream.toByteArray(),"UTF-8");
*********getFileDir(Context context)
File file = context.getFilesDir();
String name = file.getName();不是得到文件名
String path = file.getAbsolutePath();得到绝对路径
File [] files = file.listFiles();//得到所有文件名
for(File vFile : files){
log.i("FIleUtils","vFile.getName()"+vFile.getName());
}
******************************************************
关于SDCard
对SDCard的操作必须要在Manifest文件里面配置的操作权限
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
//获取SDCard状态
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录
File saveFile = new File(sdCardDir, "data.txt");
FileOutputStream outStream;
try {
outStream = new FileOutputStream(saveFile);
outStream.write("数据保存".getBytes());
outStream.close();
} catch (Exception e) {
e.printStackTrace();
}