初涉Android之文件保存
Android  /  houtizong 发布于 3年前   102
Android文件保存
一、Android的底层使用Linux内核,文件对文件所有者、与文件所有者同组的其它人、以及其它组的成员分别有可读、可写和可执行三种权限,具体可以参考《Linux私房菜》,当然,学习Android不需要了解这么多啊,在Android中,文件操作大致有四种操作模式,分别是MODE_PRIVATE、MODE_APPEND、MODE_WORLD_READABLE、MODE_WORLD_WRITEABLE等。
下面对于四种操作模式进行简单的介绍:
public class FileService {private Context context = null;private static final String TAG = "FileService";public FileService(Context context) {this.context = context;}/* * 私有操作模式保存文件 */public void savePrivate(String nameText, String contentText) throws IOException {OutputStream out = context.openFileOutput(nameText, Context.MODE_PRIVATE);Log.i(TAG,nameText);out.write(contentText.getBytes());out.close();}/* * 追加操作模式保存文件 */public void saveAppend(String nameText, String contentText) throws IOException {OutputStream out = context.openFileOutput(nameText, Context.MODE_APPEND);Log.i(TAG,nameText);out.write(contentText.getBytes());out.close();}/* * 可读操作模式保存文件 */public void saveReadable(String nameText, String contentText) throws IOException {OutputStream out = context.openFileOutput(nameText, Context.MODE_WORLD_READABLE);Log.i(TAG,nameText);out.write(contentText.getBytes());out.close();}/* * 可写操作模式保存文件 */public void saveWritable(String nameText, String contentText) throws IOException {OutputStream out = context.openFileOutput(nameText, Context.MODE_WORLD_WRITEABLE);Log.i(TAG,nameText);out.write(contentText.getBytes());out.close();}}
二、文件的读取
读取文件的时候,如果读取文件是当前应用底下的文件可以使用Context对象来获得文件输入流,如果是读取其它目录的文件,自己创建一个文件读取流即可,读取相对比较简单,就不多做介绍。
/** * 读取文件内容 * @param fileName 文件名 * @return java.lang.String 返回文件内容 * @throws IOException 抛出的IO流异常 */public String read(String fileName) throws IOException {InputStream is = context.openFileInput(fileName);byte[] buf = new byte[1024];ByteArrayOutputStream baos = new ByteArrayOutputStream();int len = 0;while((len = is.read(buf)) != -1) {baos.write(buf , 0 , len);}is.close();byte[] res = baos.toByteArray();baos.close();return new String(res);}
/** * 读取非当前应用底下的文件 * @return java.lang.String 返回文件内容 * @throws IOException 抛出IO流异常 */public String read() throws IOException {String path = PATH + fileName;File file = new File(path);FileInputStream fis = new FileInputStream(file);ByteArrayOutputStream baos = new ByteArrayOutputStream();byte[] buf = new byte[1024];int len = 0;while((len = fis.read(buf)) != -1) {baos.write(buf , 0 , len);}byte[] result = baos.toByteArray();return new String(result);}
三、保存文件到存储卡(简略介绍)
/** * 保存文件到存储卡设备 * @param name 要保存的文件名 * @param content 文件内容 * @throws IOException 抛出IO流异常 */public void saveSdcard(String name, String content) throws IOException {File file = new File("/mnt/sdcard/" + name);FileOutputStream fos = new FileOutputStream(file);fos.write(content.getBytes());fos.close();}
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接