import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReadingExample {
public static String readFile(String filePath) {
StringBuilder content = new StringBuilder();
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = reader.readLine()) != null) {
content.append(line).append("\n");
}
} catch (IOException e) {
// 这里可以根据具体需求进行更详细的日志记录或者错误处理
System.err.println("读取文件时发生错误: " + e.getMessage());
}
return content.toString();
}
}
异常处理方式及好处
- 使用
try-with-resources
语句:这种方式会在try
块结束时自动关闭资源(这里是BufferedReader
),无论是否发生异常。这确保了资源的正确释放,避免了资源泄漏,是Java 7引入的一个非常好的语法糖。
- 捕获
IOException
:FileReader
和BufferedReader
的操作可能会抛出IOException
及其子类异常,捕获这个异常可以使程序在遇到I/O错误时不会直接崩溃,而是可以进行适当的错误处理,比如记录错误信息、向用户提示错误等。
- 使用
System.err.println
输出错误信息:这里简单地将错误信息输出到标准错误流,实际应用中可以使用专业的日志框架(如log4j
、SLF4J
等)来记录错误,以便更好地跟踪和调试问题。这样处理可以在不影响程序主要逻辑的情况下,有效地处理可能出现的I/O异常,提高程序的健壮性。