A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1716976987 初级黑马   /  2018-4-10 08:26  /  965 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



一、分析以下需求,并用代码实现
项目根路径下有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();
  
}
}
谢谢。第一次分析,不吝指教。

1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马