当前位置: 代码迷 >> Android >> Android-Context的IO效能
  详细解决方案

Android-Context的IO效能

热度:103   发布时间:2016-04-24 12:03:07.0
Android-Context的IO功能

  如何将应用数据保存到本地文件?如何从本地文件加载数据到应用中?我实现的步骤是:

  应用(java数据)<--org.json-->JSONString<--Context.IO-->本地文件

  今天向读者讲解的是Context.IO部分。

File getDir(String name, int mode)

获取/data/data/<packagename>/目录的子目录(如不存在就先创建
它)

File getFilesDir()获取/data/data/<packagename>/files目录
File getCacheDir()

获取/data/data/<packagename>/cache目录。应注意及时清理该目录,并节约使用空间

String[] fileList()

获取/data/data/<packagename>/files目录下的文件列表。可与其他方
法配合使用,例如openFileInput(String)

FileInputStream openFileInput(String name)打开现有文件进行读取

FileOutputStream openFileOutput(String
name, int mode)

打开文件进行写入,如不存在就创建它

 

 

 Context.IO实现本地文件的字符串输入输出

public class SerializerUtils {                public static void save(Context c,String fileName,String data) throws IOException{        Writer writer=null;        try{        OutputStream out=c.openFileOutput(fileName, Context.MODE_PRIVATE);        writer=new OutputStreamWriter(out);        writer.write(data);        }finally{            if(writer!=null){                writer.close();            }        }    }        public static String load(Context c,String fileName)throws IOException{        StringBuilder data=new StringBuilder();        BufferedReader reader=null;        try{            InputStream in=c.openFileInput(fileName);            reader=new BufferedReader(new InputStreamReader(in));            String line=null;            while((line=reader.readLine())!=null){                data.append(line);            }        }finally{            if(reader!=null){                reader.close();            }        }        return data.toString();    }}

 

  相关解决方案