android一个文本文件如何按行读取?
1个回答
展开全部
try{
InputStream myInput = mcontext.getResources().openRawResource(R.raw.medicalspeciality);
InputStreamReader reader = new InputStreamReader(myInput);
BufferedReader breader = new BufferedReader(reader);
String str;
FileWriter myOutput = new FileWriter(outFileName, true);
while ((str = breader.readLine()) != null) {
System.out.println(i+++str);
}
// Close the streams
myOutput.flush();
myOutput.close();
myInput.close();
}catch (Exception e) {
// TODO: handle exception
e.getStackTrace();
}
更多追问追答
追问
你是复制的吗?我看不懂
追答
老实说是复制的.
给你解释下:
try{
InputStream myInput = mcontext.getResources().openRawResource(R.raw.medicalspeciality);//通过context获取输入流
InputStreamReader reader = new InputStreamReader(myInput);//InputStreamReader从输入流中读取数据
BufferedReader breader = new BufferedReader(reader);//BufferedReader这个类可以按行读取数据,创建这个类需要一个Reader对象,所以传给他一个InputStreamReader
String str;
FileWriter myOutput = new FileWriter(outFileName, true);//写文件类,创建这个类需要传一个文件名
while ((str = breader.readLine()) != null) {//breader.readLine() 这个就是BufferedReader按行读取数据,str = breader.readLine()这句将读取的数据赋值给str,如果str不为null,继续读取,为空说明读取完成,跳出循环。
System.out.println(i+++str);//这里对按行读取的数据进行处理
}
// Close the streams
myOutput.flush();//文件输出流将内容刷出到文件中
myOutput.close();//关闭文件输出流
myInput.close();//关闭文件输入流
}catch (Exception e) {
// TODO: handle exception
e.getStackTrace();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询