在开发中,对于一些资源文件(较大时),通常采取IO的读取方式
我通常根据类型和大小来区分放置位置
下面说下,两种文件下的读取方法
一.assets
/**
* 使用Assets中的文件
*/
private void readAssets() {
et1 = (EditText) findViewById(R.id.et1);
AssetManager assetManager = getAssets();
try {
InputStream inputStream = assetManager.open("test.txt");
et1.setText(read(inputStream));
} catch (IOException e) {
e.printStackTrace();
}
}
二.raw
/**
* 使用Raw中的文件
*/
private void readRaw() {
et2 = (EditText) findViewById(R.id.et2);
InputStream inputStream = getResources().openRawResource(R.raw.test);
et2.setText(read(inputStream));
}
/**
* 进行IO流读写
*
* @param inputStream
* @return oStream.toString() or “文件读写失败”
*/
private String read(InputStream inputStream) {
try {
ByteArrayOutputStream oStream = new ByteArrayOutputStream();
int length;
while ((length = inputStream.read()) != -1) {
oStream.write(length);
}
return oStream.toString();
} catch (IOException e) {
return "文件读写失败";
}
}
就这样