获取系统资源的方法

来源:互联网 发布:矩阵论课后答案 编辑:程序博客网 时间:2024/05/16 17:02

Android中支持使原始文件,原始文件位于/res/raw/下边,包括音频,视频,或文本文件等需要本地化或通过资源ID引用的原始文件资源,浙西文件不需要编译,可以直接按原样转移到应用程序包中。但是,每个文件在R.java中都会生成一个标识符。例如将文本文件放在/res/raw/test.txt下,可以使用如下代码读取该文件。

private String getStringFromRawFile(Context context)throws IOException{Resources res = context.getResources();InputStream is = res.openRawResource(R.raw.test);String string = convertStreamToString(is);is.close();return string;}private String convertStreamToString(InputStream is)throws IOException{ByteArrayOutputStream baos = new ByteArrayOutputStream();int i = is.read();while (i != -1){baos.write(i);i = is.read();}return baos.toString();}

Android还提供了一个/assets目录,可以将要包含的文件放在这里。这个目录与/res具有相同的级别,也就是它未包含在/res子目录中。/assets中的文件不会再R.java中生成资源ID,必须指定路径才能读取它们。文件路径是以/assets开头的相对路径。可以使用AssetManager类来访问这些代码。

private String getStringFromAssetsFile(Context context)throws IOException{AssetManager am = context.getAssets();InputStream is = am.open("test.txt");String s = convertStreamToString(is);is.close();return s;}


0 0
原创粉丝点击