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();
    }

}
原文地址:https://www.cnblogs.com/JiMoRuXue/p/5056198.html