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内容


     

  • 相关阅读:
    潜入ICU的四逆汤
    经方医的视角
    黄连解毒汤治疗月经过多
    柳暗花明又一方
    PHP 相关性系数计算
    备忘-VSCODE、apache配置
    c# 基于文件系统实现的队列处理类
    notepad++ 快速运行PHP代码
    dat.gui stats.js 通用参数配置及图像统计工具
    AutoHotkey 自动化脚本工具实例
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058320.html
Copyright © 2011-2022 走看看