笔记95--文件操作
来源:互联网 发布:淘宝客服评价回复话术 编辑:程序博客网 时间:2024/06/05 00:52
1、清单文件加入权限
<!-- 往SDCard的创建与删除文件权限 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><!-- 往SDCard写入数据权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2、SD卡是否存在
private boolean ExistSDCard() { if (android.os.Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED)) { return true; } else return false; }
3、写文件
File类能创建文件或文件夹,但是不能两个一起创建。即当路径和文件名都不存在时,不能通过File file=new File(String path);创建指定路径下的文件。再通俗点,比如存在路径C:\data,而执行File file=new File(C:\data\admin\myDesk.jpg);只会创建一个路径,最后一个文件夹的名字叫做myDesk.jpg。当然还有一种创建文件的方式:File file=new File("路径", "文件名");
1)写入图片到SD卡
private String filename1=Environment.getExternalStorageDirectory()+"/bsbwashcarbuyer";try {File file1=new File(filename1);if(!file1.exists())file1.mkdir();File file=new File(filename+i+".jpg");if(file.exists()){ file.delete(); }FileOutputStream out = new FileOutputStream(file);bm.compress(Bitmap.CompressFormat.JPEG, 100, out);out.flush();out.close();} catch (Exception e) {e.printStackTrace();}
以下全部也需要加FileOutputStream.flush();忘记写了。
2)写入文件到SD卡只需替换上面保存图片的一部分:
FileOutputStream fos = new FileOutputStream(file1);fos.write(fileContentStr.getBytes());//<span style="font-family: Arial, Helvetica, sans-serif;">fileContentStr:传入的字符串</span>fos.close();3)打开文件的模式:
私有操作模式:创建出来的文件只能被本应用访问,其他应用无法访问该文件,另外采用私有操作模式创建的文件,写入文件中的内容会覆盖原文件的内容。
FileOutputStream fos = context.openFileOutput(fileNameStr, context.MODE_PRIVATE);fos.write(fileContentStr.getBytes());fos.close();
追加操作模式:不覆盖原文件,但同样其他应用无法访问该文件。
FileOutputStream fos = context.openFileOutput(fileNameStr, context.MODE_APPEND);fos.write(fileContentStr.getBytes());fos.close();
读取操作模式:可以被其他应用读取,但不能写入。
FileOutputStream fos = context.openFileOutput(fileNameStr, context.MODE_WORLD_READABLE);fos.write(fileContentStr.getBytes());fos.close();写入操作模式:可以被其他应用写入,但不能读取。
FileOutputStream fos = context.openFileOutput(fileNameStr, context.MODE_WORLD_WRITEABLE);fos.write(fileContentStr.getBytes());fos.close();读写操作模式:可以被其他应用读写
FileOutputStream fos = context.openFileOutput(fileNameStr, context.MODE_WORLD_READABLE+context.MODE_WORLD_WRITEABLE);fos.write(fileContentStr.getBytes());fos.close();
4、读文件
/** * 读取文件内容 * @param fileNamestr 文件名 * @return * @throws IOException */public String read(String fileNamestr) throws IOException{ FileInputStream fis = context.openFileInput(fileNamestr); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while((len = fis.read(buffer)) != -1){ bos.write(buffer,0,len); } byte[] data = bos.toByteArray(); return new String(data);}
5、小结
输入流输出流是以我为中心。即我要用文件中的内容,但是我没有,那么我需要从文件中读数据,即我需要一个输入流;我要把我这儿的数据访问文件中,即我要输出到文件,那么我需要一个输出流。
0 0
- 笔记95--文件操作
- Symbian文件操作笔记
- 文件IO操作笔记
- 课堂笔记--文件操作
- [学习笔记] 文件操作
- php文件操作笔记
- C++ 文件操作笔记
- java 文件操作 笔记
- nodejs 文件操作笔记
- 文件读写操作笔记
- 文件操作-Malloc笔记
- PHP笔记--文件操作
- python文件操作笔记
- C# 文件操作笔记
- 文件操作指令笔记
- 【Linux】文件操作笔记
- 文件操作笔记
- delphi学习笔记--文件操作
- bzoj1293 生日礼物
- i nghing c dst Bagai
- 设计模式学习笔记--Strategy、State
- linux下编译安装程序的路径说明
- django访问sql server--django-pyodbc
- 笔记95--文件操作
- Android 获取屏幕尺寸与密度
- 常见的I/O模型及其区别
- java控制mysql进行备份出现的问题
- java程序中 如何直接结束程序、跳出循环
- HDU 1061
- quick-cocos2d-x的输入框
- Android 复习笔记之图解Actionbar
- 交叉验证