此代码用到以下四个核心方法,实现快速读取的功能
Assets管理器,用于获取Assets中TXT文件
//获取assets的管理
AssetManager am = getApplicationContext().getAssets();
通过InputStream(字节输入流)接收txt的字节流
//打开assets,获取txt文件字节流
InputStream is = am.open("Test.txt");
通过InputStreamReader把字节流转成字符流
//字节流转字符流
InputStreamReader isr = new InputStreamReader(is);
通过BufferedReader(缓存读取器)快速读取txt文件内容
//字符流存入缓存流读取器中
BufferedReader br = new BufferedReader(isr);
核心代码
/**
* 读取asset中txt文本内容
* @param txtName 文件名,带后缀 例: Test.txt
* @return 读取内容
*/
public static String getTxtContent(Context context, String txtName) {
//注册字符输入流读取器
InputStreamReader isr;
//注册缓存读取器
BufferedReader br;
//读取数据的内容
String txt = "";
try {
//获取assets的管理
AssetManager am = context.getAssets();
//打开assets,获取文件字节流
InputStream is = am.open(txtName);
//字节流转字符流
isr = new InputStreamReader(is);
//字符流存入缓存流读取器中
br = new BufferedReader(isr);
//读取txt文件中内容,一行一行进行读取
while (br.readLine() != null) {
txt += br.readLine();
}
//先打开的后关闭,后打开的先关闭
//关闭缓存读取器
br.close();
//关闭字符流读取器
isr.close();
//关闭字节输入流
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return txt;
}