android文件读取

来源:互联网 发布:广东开放大学网络平台 编辑:程序博客网 时间:2024/06/15 19:26

 

1.手机flash读写这个属于app的独立权限,即每个app默认只能读写自己文件夹下的文件.默认路径为/data/data/your_project/files/

2.sdcard读写 默认android系统对每个app都开放读写功能。默认路径为/mnt/sdcard/ 或者/sdcard/
写外部存储即sdcard的权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

存储文件 
FileOutputStream outStream=this.openFileOutput("sqc.txt",Context.MODE_PRIVATE);
outStream.write("文件的读写",getBytes());
outStream.close();

 

读取文件:
FileInputStream inStream=this.getContext().openFileInput("sqc.txt");

使用绝对路径打开文件:
File file = new File("/data/data/com.sqc/files/sqc.txt");
FileInputStream inStream = new FileInputStream(file);
Log.i("FileTest", readInStream(inStream));

读取文件的方法:

public static String readInStream(FileInputStream inStream){
  try {
   ByteArrayOutputStream outStream = new ByteArrayOutputStream();
   byte[] buffer = new byte[1024];
   int length = -1;
   while((length = inStream.read(buffer)) != -1 ){
    outStream.write(buffer, 0, length);
   }
   outStream.close();
   inStream.close();
   return outStream.toString();
  } catch (IOException e){
   Log.i("FileTest", e.getMessage());
  }
  return null;
}Activity还提供了getCacheDir()和getFilesDir()方法:
getCacheDir()方法用于获取/data/data/<package name>/cache目录
getFilesDir()方法用于获取/data/data/<package name>/files目录

 

2.sdcard读写相关API

 

获取SDCard的状态:Environment.getExtemalStorageState()
  EnvironmentMEDIA_MOUNTED手机 装有SDCard,并且可以进行读写
获取SDCard的目录:Environment.getExtemalStorageDirectory()
     File saveFile=new File("/sdcard/zhzhg.txt");
        或:File sdCardDir=new File("/sdcard");//获取SD卡目录
     File saveFile-new File(sdCardDir,"zhzhg.txt");
        FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("文件的读写".getBytes());
outStream.close(); 

 

一般你的程序要写sd的话需要申请如下权限
    <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
        <group gid="sdcard_rw" />
    </permission>

在sdcard中创建/删除文件的权限用android.permission.MOUNT_UNMOUNT_FILESYSTEMS
往sdcard中写入数据权限为android.permission.WRITE_EXTERNAL_STORAGE

原创粉丝点击