您的位置:首页 > 移动开发 > Android开发

Android 从assets和raw中读取文件

2016-10-15 09:48 531 查看

方法一:利用assets

assets文件夹里面的文件不参与应用项目的编译,都是保持原始的文件格式,所以可以将需要读取的文件放在assets目录下,然后利用封装好的函数进行读取操作:

InputStreamReader
inputReader = new InputStreamReader( getResources().getAssets().open(fileName) ); 

样例代码:

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

方法二:利用raw

同样,raw中的文件也会被保留为原始文件。具体实现为:在res文件夹下new一个安卓资源文件夹,其类型选择raw。接着在其中新建一个数据文件data。这样,就可以在代码中直接引用数据资源了,引用方式为R.raw.data,和布局文件引用类似。

样例代码:

InputStream inputStream = getResources().openRawResource(R.raw.data);
InputStreamReader inputStreamReader = null;
try {
inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}

BufferedReader reader = new BufferedReader(inputStreamReader);
String line;

try {
while ((line = reader.readLine()) != null) {
// 添加代码
}
} catch (IOException e) {
e.printStackTrace();
}
经过上面操作,数据文件中每一行的内容就存储在line中了,不过要注意,如果内容中含有中文汉字,则需要将编码方式设定为“UTF-8”,如上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息