【Java基础】对文本文件中的字符串内容进行反转

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

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值