<>读取txt文本文件并做处理
<>1.引言
很多时候我们要解析txt文件并进行处理写回,所以笔记记录下
<>2.创建springboot工程
* 导入依赖 <!--糊涂工具类--> <dependency> <groupId>cn.hutool</groupId> <artifactId>
hutool-all</artifactId> <version>5.3.9</version> </dependency>
<>3. 代码
demo 直接在test下创建即可
import cn.hutool.core.util.StrUtil; import org.apache.commons.io.input.
BOMInputStream; import java.io.*; import java.util.ArrayList; import java.util.
List; /** * @ClassName: DealTxt * @Date: 2021/4/29 9:33 * @Author: lvxy *
@Description: TODO * @Version: TODO */ public class DealTxt { public static void
main(String[] args) throws IOException { dealTxt(
"D:\\Users\\lvxy\\Desktop\\1.txt","D:\\Users\\lvxy\\Desktop\\deal1.txt"); } /**
* * @param inputFilePath 输入文件路径 * @param outputFilePath 输出文件路径 * @throws
IOException */ private static void dealTxt(String inputFilePath, String
outputFilePath) throws IOException { File inputFile = new File(inputFilePath);
File outputFile = new File(outputFilePath); // 如果outputFile不存在 则创建 if (
outputFile.isFile() && !outputFile.exists()) { outputFile.createNewFile(); } //
读文件 指定编码格式就要这么写 BufferedReader br = new BufferedReader(new InputStreamReader(new
BOMInputStream(new FileInputStream(inputFile)), "UTF-8")); // 向目标文件写文件
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(new
FileOutputStream(outputFile), "UTF-8")); String lineStr; int index = 0; //
读出来的每一行 存列表 List<String> allList = new ArrayList<>(); while ((lineStr = br.
readLine()) != null) { // 读取一行 添加一行到列表 allList.add(lineStr); } for(String line :
allList){ index++; StringBuffer sb = new StringBuffer(); sb.append(line); //
循环写每一行 wr.write(sb.toString()); // 写完一行要换行 wr.write("\n"); // todo 这里对读取到的txt做处理
// 空串不做处理 if (!StrUtil.isEmpty(line.trim())){ wr.write("["+line+"]"); // 空串不处理换行
if (!StrUtil.isEmpty(line.trim())){ wr.write("\n"); } } } wr.flush(); wr.close()
; } }
<>4.测试