码迷,mamicode.com
首页 > 其他好文 > 详细

10、Context

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

标签:ref   log   包名   data   1.4   缓存   return   1.2   title   

一、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

标签:ref   log   包名   data   1.4   缓存   return   1.2   title   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!