使用BufferedReader读取多行txt文件是一种常见的处理方式。首先,我们初始化一个BufferedReader对象,通过FileReader来读取指定路径的文件。代码示例如下:
BufferedReader bre = null;
try {
bre = new BufferedReader(new FileReader(file));
// file为文件的路径+文件名称+文件后缀
String str;
while ((str = bre.readLine()) != null) {
// ●判断最后一行不存在,为空结束循环
System.out.println(str);
// 原样输出读到的内容
}
需要注意的是,每次使用完流后,必须进行关闭操作。在上述代码示例中,应该添加如下代码:
bre.close();
这样可以确保资源得到正确释放,防止内存泄漏。
在实际开发过程中,为了提高代码的健壮性和可读性,建议在finally块中关闭资源。这样即使在读取过程中发生异常,文件流也能被正确关闭。例如:
BufferedReader bre = null;
try {
bre = new BufferedReader(new FileReader(file));
String str;
while ((str = bre.readLine()) != null) {
System.out.println(str);
}<br} catch (IOException e) {
e.printStackTrace();
}
finally {
if (bre != null) {
try {
bre.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
通过这种方式,可以确保即使遇到错误,资源也能够被妥善处理。
此外,对于大型文件,建议考虑使用BufferedReader的构造函数,传入缓冲区大小作为参数,以提高读取效率。例如:
BufferedReader bre = new BufferedReader(new FileReader(file), 8192);
这样可以设置缓冲区大小为8192字节,根据实际需求调整大小,以适应不同的文件读取场景。
最后,对于非UTF-8编码的文件,需要在创建BufferedReader时指定正确的字符编码,以确保正确读取文件内容。例如:
BufferedReader bre = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK"));
通过以上方式,可以更好地处理多行txt文件的读取任务。
温馨提示:答案为网友推荐,仅供参考