首页 > 其他 > 详细

10、Context

时间:2017-03-02 16:43:26      阅读:228      评论:0      收藏:0      [点我收藏+]

一、Context

全局的环境对象,提供了很多方便的操作,帮助我们快速的获取数据,进行一些常规的操作。

1.1、获取路径

getFilesDir()等同于/data/data/包名/files/

File file = new File(getFilesDir(),"info.txt");

1.2、缓存文件路径

getCacheDir()等同于/data/data/包名/cache/

File file = new File(getCacheDir(),"info.txt");

1.3、上下文存储数据

1.通过Context下的openFileOutput()获取输出流

FileOutputStream fos = this.openFileOutput("info.txt", MODE_PRIVATE);

这两个方法第一个参数为文件名,第二个参数为模式(私有、可读、可写、可读可写),该方法保存文件的目录:/data/data/<package name>/files。

其中权限包含四种:

技术分享

2.通过Context下的openFileInput()获取输入流

FileInputStream fis = this.openFileInput("info.txt");

1.4、资源目录

assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。

a) 先在Activity里面调用getAssets() 来获取AssetManager引用。

b) 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStream。

c) 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close() 。

d) 调用AssetManager.close() 关闭AssetManager。

需要注意的是,来自Resources和Assets 中的文件只可以读取而不能进行写的操作:

以下为raw文件中读取:

public String getFromRaw(){ 
    try { 
        InputStreamReader inputReader = new InputStreamReader(getResources().openRawResource(R.raw.test1));
        BufferedReader bufReader = new BufferedReader(inputReader);
        String line="";
        String Result="";
        while((line = bufReader.readLine()) != null)
            Result += line;
        return Result;
    } catch (Exception e) { 
        e.printStackTrace(); 
    }             
}

以下为assets文件中读取:

public String getFromAssets(String fileName){ 
    try { 
        InputStreamReader inputReader = new InputStreamReader(getResources().getAssets().open(fileName) ); 
        BufferedReader bufReader = new BufferedReader(inputReader);
        String line="";
        String Result="";
        while((line = bufReader.readLine()) != null)
            Result += line;
        return Result;
    } catch (Exception e) { 
        e.printStackTrace(); 
    }
}

待续

 

10、Context

原文:http://www.cnblogs.com/pengjingya/p/5507758.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!