Java读取TXT文件示例
需积分: 32 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`会自动关闭,即使在读取过程中发生异常,资源也会被正确地释放。
2010-03-24 上传
2018-06-01 上传
2023-10-17 上传
149 浏览量
2018-05-15 上传
2011-12-04 上传
2020-09-01 上传
2010-06-30 上传
Justin.Yi
- 粉丝: 17
- 资源: 5
最新资源
- DIY0920101213.rar_手机短信编程_Visual_C++_
- phoneformat:这是一个Swift 4+库,旨在简化iOS项目的电话号码格式
- Stringz是一款轻巧而功能强大的编辑器,可轻松快速地翻译您的iOS应用。-Swift开发
- Tabs URLs in current window (Wayl Assured)-crx插件
- 像素编辑器
- PyPI 官网下载 | simple-pid-1.0.1.tar.gz
- python官方3.9.0b5-amd64版本exe安装包
- node-feed-thumbnailer:一个基本的应用程序,用于从YAML文件中获取图像网址列表,并将其压缩并用作静态文件
- Whatfix for Creditkarma-crx插件
- flexible_pipeline
- scalene:Scalene:用于Python的高性能,高精度CPU和内存分析器
- pychetlabeller:一个基于python的图像标注标签工具箱。 该程序允许用户注释图像中的单个对象
- dagitty:结构因果模型的图形分析图形因果模型
- Kjunzhi.rar_数学计算_matlab_
- javascript-challenge
- nasa-image-search:使用Nasa Image数据库的简单搜索应用程序