import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class FileReadExample {
public static void main(String[] args) {
FileInputStream fis = null;
BufferedReader br = null;
try {
fis = new FileInputStream("your_file_path");
br = new BufferedReader(new InputStreamReader(fis));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
- 上述代码中,定义了
FileInputStream
和BufferedReader
变量,并初始化为null
。
- 在
try
块中,打开文件输入流和BufferedReader
进行文件读取操作。
- 在
catch
块中捕获可能出现的IOException
,并打印堆栈信息以便调试。
- 在
finally
块中,首先检查BufferedReader
是否为null
,如果不为null
,则尝试关闭它,同样地,对FileInputStream
也进行这样的操作。通过这种方式,无论读取过程中是否出现异常,都能确保打开的资源被正确关闭,避免内存泄漏。