分析以下需求,并用代码实现

  •  项目根路径下有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();
}
}

最新文章

  1. JS魔法堂:那些困扰你的DOM集合类型
  2. 串行通讯之.NET SerialPort
  3. mySql常用sql
  4. PLSQL_数据泵定参数批量导入多表Expdp/Impdp Parfile(案例)
  5. 在openshift上使用django+postgresql
  6. css hack 兼容性
  7. UVA 10341 Solve It 解方程 二分查找+精度
  8. Ubuntu16.04 + caffe-ssd + [CPU_ONLY] + KITTI 训练总结
  9. jmeter 分布式压测(windows)
  10. py-day4-4 python 其他内置函数
  11. linux 中 如何 搜索 指定目录 下 指定文件 的 指定内容
  12. Nginx防压力测试
  13. nginx的https和http共存反向代理配置
  14. maven添加插件,与maven打包
  15. ADO.NET 【攻击及防御】
  16. 有空研究一下 superwebsocket (底层是 supersocket) 用来实现 web聊天什么的
  17. Longest Word in Dictionary through Deleting - LeetCode
  18. php实践
  19. Wannafly挑战赛21 C 大水题
  20. MVC中检测到有潜在危险的 Request.Form 值

热门文章

  1. F - Distinct Numbers
  2. C语言二维数组超细讲解
  3. sorted排序的两个方法 - Python
  4. springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题
  5. 测评软件Lemon教程
  6. 关于对vue-router的优化(详尽版)
  7. mysql 使用记录
  8. Dockerfile的简单人门编写之关于yum的问题
  9. Java 多线程实现方式三:实现 Callable 接口
  10. 2、flink入门程序Wordcount和sql实现