一、分析以下需求,并用代码实现 项目根路径下有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.itheima01; import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList; /*一、 分析以下需求,并用代码实现
需求 : 项目根路径下有text.txt文件,内容如下
我爱黑马
123456 利用IO流的知识读取text.txt文件的内容反转后写入text.txt文件中
654321
马黑爱我
3.2. 操作步骤描述
1. 创建集合对象用于存储读取到的每一行数据
2. 创建BufferedReader关联text.txt文件
3. 将读取到的每一行数据存储到集合中
4. 关闭输入流
5. 遍历集合获取到每一个数据(每一行字符串)
6. 通过StringBuilder将当前字符串翻转
7. 将转换后的字符串, 设置回集合的当前位置(提示 集合中的set方法)
8. 创建输出流对象关联text.txt
9. 倒着遍历集合(为了达到行翻转的效果)
10. 将数据写入文件, 手动换行
11. 关闭输出流*/ public class Demo03 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("text.txt"));
ArrayList<String> array=new ArrayList<>();
String s;
while((s=br.readLine())!=null){
array.add(s);
}
br.close();
for(int i=0;i<array.size();i++){
StringBuilder sb=new StringBuilder(array.get(i));
array.set(i, sb.reverse().toString());
}
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();
}
} 谢谢。第一次分析,不吝指教。
|