fileName写入文件的名称 fileContent写入的内容 com.itcast.file 主配置文件中package的值
在activity的实现父类的onCreate方法中可以使用
this.this.getCacheDir();// 返回data/data/com.itcast.file/cache目录 存放缓存文件 第一次调用该方法的时候就会创建出来 返回的是一个文件夹file
this.getFilesDir();// 返回data/data/com.itcast.file/files文件夹的路径 返回的是一个文件夹file 可直接获取写入手机存储文件的路径
FileOutputStream outputStream = context.openFileOutput(fileName,Context.MODE_PRIVATE);获取默认手机目录的一个输出流 data/data/com.itcast.file/files路径下
outputStream.write(fileContent.getBytes()); fileName写入文件的名称 fileContent写入的内容
outputStream.close();
文件的操作模式 4中 1Context.MODE_PRIVATE 私有模式写入 只有本程序能访问 并且同一个文件的每次写入都会替换掉原来的文件内容 2.Context.MODE_APPEND 追加模式 只能本程序使用 每次写入同一文件 都会在文件的末尾添加
3. Context.MODE_WORLD_READABLE外部程序可以读取该模式创建文件的内容
4.Context.MODE_WORLD_WRITEABLE外部程序看以写入该模式创建文件的内容 每次写入都会替换原来文件的内容
Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE 外部程序可以读取和写入该文件 每次写入的话都会替换原来文件的内容
Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE + Context.MODE_APPEND 外部程序可以读取 写入 追加该模式组合创建的文件
一模式组合的形式 就会有没一个组合成员的权限 他们组合的值是int类型的 这是都是int类型的常量
在sd卡读写
首先要在主文件中注册sd卡的读写权限
<!-- 在sd卡中创建于删除的前线 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- 在sd卡中读写的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
String path1 = Environment.getExternalStorageDirectory().getPath();//获得sd卡的绝对路径 返回一个file
System.out.println("111111111111111111111111"+path1);
String path2 = Environment.getExternalStorageDirectory().getAbsolutePath();//获得sd卡的绝对路径 返回一个file
System.out.println("22222222222222222222222222"+path2);
path1和path2的结果一样 都是SD卡的路径
File file = new File("/mnt/sdcard", fileName); //File file = new File(path1/path2, fileName);
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(fileContent.getBytes());
outputStream.close();