android 保存和读取文件

package com.pdsu.file; import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import android.content.Context; import android.os.Environment; /** * 文件服务类 * * @author huangyinge * */ public class FileService { private Context context; public FileService(Context context) { super(); this.context = context; } /** * 文件保存 * * @param fileName * 文件名称 * @param fileContent * 文件内容 * * Context.MODE_PRIVATE * Private方式创建的文件只能被本应用访问,每次都会创建一个新的文件,如果文件存在就覆盖原来的文件 * Context.MODE_APPEND * APPEND 方式创建的文件,文件也只能被本应用访问,如果文件存在就在文件的末尾添加内容,如果不存在就创建一个新的文件 * Context.MODE_WORLD_READABLE * 创建的文件其他应用程序可以读取该文件 ,但不能写入 * Context.MODE_WORLD_WRITEABLE * 创建的文件可以被其他应用程序写入数据,但不能读取数据 * * Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE * 将会允许其他应用程序读取和写入数据 */ public boolean savePrivate(String fileName, String fileContent) { return save(fileName,fileContent,Context.MODE_PRIVATE); } //追加内容 public boolean saveAppend(String fileName, String fileContent) { return save(fileName,fileContent,Context.MODE_APPEND); } //可写入 public boolean saveWriteable(String fileName, String fileContent) { return save(fileName,fileContent,Context.MODE_WORLD_WRITEABLE); } //可读取 public boolean saveReadable(String fileName, String fileContent) { return save(fileName,fileContent,Context.MODE_WORLD_READABLE); } //保存文件到sdcard public boolean saveToSdcard(String fileName, String fileContent) { boolean flag = false; try { FileOutputStream fos = new FileOutputStream( Environment.getExternalStorageDirectory()+File.separator+fileName,true); flag = write(fileContent, fos); } catch (Exception e) { e.printStackTrace(); } return flag; } /** * 保存文件 * @param fileName 指定文件名 * @param fileContent 文件内容 * @param mode 文件模式 * @return */ public boolean save(String fileName, String fileContent,int mode) { boolean flag = false; try { FileOutputStream fos = context.openFileOutput(fileName, mode); flag = write(fileContent, fos); } catch (Exception e) { e.printStackTrace(); } return flag; } private boolean write(String fileContent, FileOutputStream fos) throws IOException { boolean flag; BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos)); bw.write(fileContent); bw.flush(); bw.close(); flag = true; return flag; } /** * 读取文本内容 * @param fileName 文件名称 * @return */ public String read(String fileName){ String content = ""; try { FileInputStream fis = context.openFileInput(fileName); ByteArrayOutputStream bos = new ByteArrayOutputStream(); int len = 0; byte buf[] = new byte[1024]; while((len = fis.read(buf))!=-1){ bos.write(buf, 0, len); } fis.close(); content = bos.toString(); bos.close(); } catch (Exception e) { e.printStackTrace(); } return content; } }

转载于:https://www.cnblogs.com/hibernate3-example/archive/2011/12/29/2492690.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值