Java读取TXT文件示例

需积分: 32 9 下载量 103 浏览量 更新于2024-09-10 收藏 4KB TXT 举报
"Java编程中如何读取TXT文件的示例代码" 在Java编程中,读取TXT文件是一项常见的任务,通常用于处理日志、配置文件或其他文本数据。本示例提供了两种方法来读取TXT文件,即`readFile01`和`readFile02`,它们都使用了`BufferedReader`类进行读取,但打开文件的方式略有不同。 首先,我们来看`readFile01`方法。这个方法使用了`FileReader`来打开文件,`FileReader`默认使用平台的默认字符集(通常是UTF-8或GBK),然后通过`BufferedReader`进行缓冲读取,这样可以提高读取效率。在循环中,`BufferedReader`的`readLine()`方法用于逐行读取文件内容,直到文件结束。每读取一行,就使用`split()`方法按逗号分隔字符串,并打印出前三个元素。最后,别忘了关闭`BufferedReader`和`FileReader`以释放系统资源,防止出现`java.io.IOException: Stream closed`异常。 接着是`readFile02`方法,它使用`FileInputStream`来创建输入流,然后通过`InputStreamReader`指定字符编码(这里是UTF-8)将字节流转换为字符流,再由`BufferedReader`进行缓冲读取。这个方法同样用于逐行读取并处理文件内容。这里注释掉了一种创建`BufferedReader`的另一种方式,即直接通过`InputStreamReader`构造函数指定文件路径和字符编码,这种方式与上面的步骤等价。 这两种方法的主要区别在于文件打开的方式,`FileReader`会自动选择默认的字符集,而`FileInputStream`则需要配合`InputStreamReader`明确指定字符集,以确保正确解码非ASCII字符。 在实际开发中,根据需求可以选择合适的读取方式。如果文件内容都是ASCII,那么`FileReader`足够使用;如果包含非ASCII字符,特别是跨平台时,最好使用`InputStreamReader`指定字符集,以避免因编码不一致导致的问题。 此外,为了代码的健壮性,通常建议使用try-with-resources语句来自动关闭流,以减少手动管理资源的复杂性和可能出现的资源泄露问题。例如: ```java try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("file_path"), "UTF-8"))) { // 读取操作 } catch (IOException e) { e.printStackTrace(); } ``` 这样,当读取操作完成后,`BufferedReader`会自动关闭,即使在读取过程中发生异常,资源也会被正确地释放。