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


     

  • 相关阅读:
    数据库的优化
    Java 10
    sleep()和yield()的区别
    mvc框架实现的流程,值得收藏
    MyEclipse项目出现红色!的原因
    The requested resource is not available的解决方案-转载博文
    web.xml详解(web-app_2_3.dtd)规范顺序
    EditText小写字母自动转换成大写(注:设置之后只能显示大写字母)
    Android GridView属性意义集合(转)
    Theme.AppCompat.Light无法找到问题(转)
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058320.html
Copyright © 2011-2022 走看看