Java程序读写TXT文件示例
需积分: 12 17 浏览量
更新于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 上传
2023-03-14 上传
2015-10-22 上传
2022-09-23 上传
woyaokuaile_1314
- 粉丝: 2
- 资源: 7
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍