用java识别出来文本(txt)中的文字,并用in进行拼接。
话不多少,直接上代码。
先看结果
待转换数据:
处理结果:
代码如下:
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/**
* @author wowowo
* @date 2023/2/1
*/
public class ReadTxtNew {
public static void main(String[] args) {
readFile();
}
public static void readFile() {
// 绝对路径或相对路径都可以,写入文件时演示相对路径,读取以上路径的test.txt文件"此处,统一用左斜杠"
String rootPath = "E:/daima/";
try {
FileReader reader = new FileReader(rootPath+"test.txt");
BufferedReader br = new BufferedReader(reader);
// 相对路径,如果没有则要建立一个新的output.txt文件
File writeName = new File(rootPath+"output.txt");
// 创建新文件,有同名的文件的话直接覆盖
writeName.createNewFile();
FileWriter writer = new FileWriter(writeName);
// 定义一个List集合,把获取到的数据先放到集合中,待后续处理。
List<String> readList = new ArrayList<>();
// 定义输出对象
BufferedWriter out = new BufferedWriter(writer);
String line;
// 定义拼接字符串
StringBuilder outContent = new StringBuilder();
// 拼接首部,@mark 根据需要,拼接此处
outContent.append("where t.id in(");
while ((line = br.readLine()) != null) {
readList.add(line);
// 一次读入一行数据
System.out.println(line);
}
// 处理集合中的元素
int size = readList.size();
if (size > 0) {
for (int i = 0; i < size; i++) {
// 把每一个元素拼接进去
if (i == size - 1) {
// 最后一个元素拼接和其他的不同
outContent.append("'").append(readList.get(i)).append("'").append(")");
} else {
outContent.append("'").append(readList.get(i)).append("'").append(",");
}
if (i != 0 && i % 5 == 0) {
// 5个元素一换行,接拼接换行符
outContent.append(System.lineSeparator());
}
}
out.write(outContent.toString());
}
// 把缓存区内容写入文件
out.flush();
// 关闭流
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}