Android File手机文件存取

2022-10-15 01:21:20   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《Android File手机文件存取》,欢迎阅读!
存取,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();

}

本文来源:https://www.wddqxz.cn/98dd2d375727a5e9856a619c.html

相关推荐