首先准备需要转换的文件
可用于多种场景多行文本统一处理为统一格式,对多行文本数据逐一加解密,对多行文本筛选等等。对应的操作只需要修改文本处理逻辑部分
代码:
// 多行文本转换
public class TestCreate {
public static void main(String[] args) throws Exception {
Map<Integer, String> rowDataMap = readTxtFile("预处理文本位置.txt");
List<String> textList1 = new ArrayList<String>(10000);
Set<String> textList = new HashSet<>(10000);
Iterator<Integer> iterator = rowDataMap.keySet().iterator();
while (iterator.hasNext()) {
Integer key = iterator.next();
String rowdata = rowDataMap.get(key);
String retdata = "";
//逻辑处理
retdata = "orgCodes.add(\""+rowdata+"\");";
// 对文件进行行合并
textList.add(retdata);
}
// 将内容写入文件
writeTxtFile("处理后文本位置.txt", textList);
}
/*
* 根据文件路径读取文件
*
* @param filePath 文件路径
* * @return Map<Integer, String>
*/
private static Map<Integer, String> readTxtFile(String filePath) {
Map<Integer, String> textMap = new HashMap<Integer, String>(10000);
try (FileInputStream fileInputStream = new FileInputStream(filePath);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);) {
String line = null;
Integer i = 0;
while ((line = bufferedReader.readLine()) != null) {
i = i + 1;
textMap.put(i, line);
}
} catch (Exception e) {
e.printStackTrace();
}
return textMap;
}
/*
* 写入文件
*
* @param filePath 文件路径
* @param textList 文件行内容
* @throws IOException 异常信息
*/
private static void writeTxtFile(String filePath, Set<String> textList) throws IOException {
File file = new File(filePath);
file.createNewFile();
try (FileWriter fileWriter = new FileWriter(file);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);) {
for (String text : textList) {
bufferedWriter.write(text);
bufferedWriter.newLine();
}
bufferedWriter.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出文件: