zoukankan      html  css  js  c++  java
  • Android入门:实现一个File存储的辅助类

    File文件存储博客链接:http://blog.csdn.net/xiazdong/article/details/7687439

    package com.xiazdong.file.util;
    
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    import android.content.Context;
    import android.os.Environment;
    
    public class FileUtil {
    	/**
    	 * 保存文本到内存
    	 * @param context
    	 * @param filename
    	 * @param content
    	 * @param mode
    	 * @throws Exception
    	 */
    	public static void saveTextInMemory(Context context,String filename,String content,int mode) throws Exception{
    		try{
    			FileOutputStream out = context.openFileOutput(filename, mode);
    			out.write(content.getBytes("UTF-8"));
    			out.close();
    		}
    		catch(Exception e){
    			throw new Exception();
    		}
    	}
    	/**
    	 * 保存文件到sdcard
    	 * @param filename
    	 * @param content
    	 * @throws Exception
    	 */
    	public static void saveTextInSdcard(String filename,String content) throws Exception{
    		try{
    			File f = new File(Environment.getExternalStorageDirectory(),filename);
    			FileOutputStream out = new FileOutputStream(f);
    			out.write(content.getBytes("UTF-8"));
    			out.close();
    		}
    		catch(Exception e){
    			throw new Exception();
    		}
    	}
    	/**
    	 * 从内存读取文件
    	 * @param filename
    	 * @return
    	 * @throws Exception
    	 */
    	public static String loadTextFromSdcard(String filename) throws Exception{
    		try{
    			File f = new File(Environment.getExternalStorageDirectory(),filename);
    			FileInputStream in = new FileInputStream(f);
    			byte[]data = read2byte(in);
    			return new String(data,"UTF-8");
    		}
    		catch(Exception e){
    			throw new Exception();
    		}
    	}
    	/**
    	 * 从sdcard读取文件 
    	 * @param context
    	 * @param filename
    	 * @return
    	 * @throws Exception
    	 */
    	public static String loadTextFromMemory(Context context,String filename) throws Exception{
    		try{
    			FileInputStream in = context.openFileInput(filename);
    			byte[]data = read2byte(in);
    			return new String(data,"UTF-8");
    		}
    		catch(Exception e){
    			throw new Exception();
    		}
    	}
    	private static byte[] read2byte(InputStream in) throws IOException {
    		byte[] data;
    		ByteArrayOutputStream bout = new ByteArrayOutputStream();
    		byte[]buf = new byte[1024];
    		int len = 0;
    		while((len = in.read(buf))!=-1){
    			bout.write(buf, 0, len);
    		}
    		data = bout.toByteArray();
    		return data;
    	}
    }
    

    测试代码:

    FileUtil.saveTextInSdcard("1.txt","hello");		//将"hello"保存到/mnt/sdcard/1.txt中
    String content = FileUtil.loadTextFromSdcard("1.txt");	//读取/mnt/sdcard/1.txt内容
    FileUtil.saveTextInMemory(MainActivity.this,"1.txt","hello", Context.MODE_PRIVATE);	//将hello保存到/data/data/package/files/1.txt中
    String content = FileUtil.loadTextFromMemory(MainActivity.this, "1.txt");	//读取/data/data/package/files/1.txt内容


     

  • 相关阅读:
    Bitnami 2015
    knowledgeroot
    远程管理服务 Windows Remote Management (WS-Management)
    Composer 安装
    开源知识库管理系统选型 centos6.4 搭建knowlededgeroot-1.0.4知识库平台
    两个IP实现IIS和Apache公用80端口的设置方法
    Solidworks工程图如何使用,替换图纸格式模板文件
    Solidworks工程图 如何绘制向视图,辅助视图
    Solidworks打印工程图超出范围了怎么办
    Solidworks 如何绘制投影曲线
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058320.html
Copyright © 2011-2022 走看看