Java程序读写TXT文件示例
需积分: 12 178 浏览量
更新于2024-09-18
收藏 2KB TXT 举报
该代码示例展示了如何在Java中读取和写入TXT文本文件。程序首先创建一个名为`people.txt`的文件,并写入多行数据,每行包含姓名、性别、年龄和薪资。然后,它读取这个文件,将每一行的数据存储到一个ArrayList中,接着对数据进行处理,通过逗号分隔值(CSV)解析每一行,并将这些值分配给一个名为`Names`的实体类的对象属性。最后,程序计算并输出所有人的总薪资。
在这个Java程序中,有以下几个关键知识点:
1. **文件I/O操作**:
- 使用`FileWriter`类写入文本文件。`FileWriter`构造函数接收一个文件路径作为参数,然后可以调用`write()`方法向文件中写入内容。
- 使用`FileInputStream`打开一个文件,然后通过`BufferedReader`进行读取。`BufferedReader`提供`readLine()`方法,可以逐行读取文件内容。
2. **字符编码**:
- 文件读写时指定字符编码。在创建`InputStreamReader`时,使用`"GBK"`作为编码,确保正确处理中文字符。
3. **异常处理**:
- 使用`try-catch-finally`块来处理可能出现的异常,如`IOException`。在`finally`块中,确保所有的流(`inputStream`和`bufReader`)都被关闭,以释放系统资源。
4. **集合操作**:
- 使用`ArrayList`存储读取到的文件行数据,以及`Names`对象。`add()`方法用于向列表中添加元素。
- `List<Names>`类型的`alist`用于存储解析后的`Names`对象。
5. **字符串处理**:
- `split(",")`方法用于根据逗号将字符串分割成数组。这样可以方便地获取CSV数据的各个部分。
6. **数据转换**:
- `Integer.parseInt(sArray[3])`将字符串形式的数字转换为整型,以便于计算。
7. **实体类(Names)**:
- `Names`类(虽然在提供的代码中没有定义,但可以假设它有`name`、`age`、`many`和`sex`属性),用于封装读取的数据。`set`方法用于设置属性值。
8. **数据计算**:
- 在循环中,程序遍历`alist`,提取每个`Names`对象的`many`属性并累加,计算所有人的总薪资。
这个程序可以作为学习Java文件I/O操作、字符串处理、集合操作和异常处理的基础示例。通过这个例子,开发者可以理解如何在实际项目中处理文本文件数据。
2011-03-15 上传
236 浏览量
2023-03-13 上传
2015-10-22 上传
2022-09-23 上传
2019-03-22 上传
woyaokuaile_1314
- 粉丝: 2
- 资源: 7
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能