Day_14【IO流】扩展案例3_对文本文件中的字符串内容进行反转
2024-10-09 02:25:27
分析以下需求,并用代码实现
项目根路径下有text.txt文件,内容如下
我爱黑马
123456 利用IO流的知识读取text.txt文件的内容反转后写入text.txt文件中
654321
马黑爱我
思路
1.创建集合对象用于存储读取到的每一行数据
2.创建BufferedReader关联text.txt文件
3.将读取到的每一行数据存储到集合中
4.关闭输入流
5.遍历集合获取到每一个数据(每一行字符串)
6.通过StringBuilder将当前字符串翻转
7.将转换后的字符串, 设置回集合的当前位置(提示 集合中的set方法)
8.创建输出流对象关联text.txt
9.倒着遍历集合(为了达到行翻转的效果)
10.将数据写入文件, 手动换行
11.关闭输出流
代码
package com.itheima3;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class Test3 {
public static void main(String[] args) throws IOException {
//创建集合对象用于存储读取到的每一行数据
ArrayList<String> array = new ArrayList<>();
//创建BufferedReader关联text.txt文件
BufferedReader br = new BufferedReader(new FileReader("text.txt"));
//将读取到的每一行数据存储到集合中
String line;
while((line = br.readLine()) != null) {
array.add(line);
}
//释放资源
br.close();
//遍历集合获取到每一个数据(每一行字符串)
for(int i = 0;i < array.size();i++){
String str = array.get(i);
//通过StringBuilder将当前字符串翻转
StringBuilder sb = new StringBuilder(str);
String strChange = sb.reverse().toString();
//将转换后的字符串, 设置回集合的当前位置(提示 集合中的set方法)
array.set(i, strChange);
}
//创建输出流对象关联text.txt
BufferedWriter bw = new BufferedWriter(new FileWriter("text.txt"));
//倒着遍历集合(为了达到行翻转的效果)
for(int i = array.size() - 1;i >= 0;i--) {
//将数据写入文件, 手动换行
bw.write(array.get(i));
bw.newLine();
bw.flush();
}
//释放资源
bw.close();
}
}
最新文章
- JS魔法堂:那些困扰你的DOM集合类型
- 串行通讯之.NET SerialPort
- mySql常用sql
- PLSQL_数据泵定参数批量导入多表Expdp/Impdp Parfile(案例)
- 在openshift上使用django+postgresql
- css hack 兼容性
- UVA 10341 Solve It 解方程 二分查找+精度
- Ubuntu16.04 + caffe-ssd + [CPU_ONLY] + KITTI 训练总结
- jmeter 分布式压测(windows)
- py-day4-4 python 其他内置函数
- linux 中 如何 搜索 指定目录 下 指定文件 的 指定内容
- Nginx防压力测试
- nginx的https和http共存反向代理配置
- maven添加插件,与maven打包
- ADO.NET 【攻击及防御】
- 有空研究一下 superwebsocket (底层是 supersocket) 用来实现 web聊天什么的
- Longest Word in Dictionary through Deleting - LeetCode
- php实践
- Wannafly挑战赛21 C 大水题
- MVC中检测到有潜在危险的 Request.Form 值