把一个txt通过特殊的标识分割成多个txt

    xiaoxiao2026-08-07  13

    功能介绍:

    从本地读取一个txt文件,然后根据命名规范保存新的txt文件,我这里是一个测试类,命名规范也只是粗略的+1处理.主要是思想是把txt按行读,然后存入list集合,然后list集合转换为String字符串,这里用的是直接list.toString();这样的转换后的list就会多生成"[","]"和","然后可以用""把它们进行替换,这里用的方法都比较简单有不对的地方请多多指正,网上有很多list转String的方法,个人觉得太麻烦,但是比较合乎情理,我这样处理比较不合乎情理.

    在我们读的txt中有特殊标志这个可以自己设置,这样就可以根据规则取出我们特需的字符,然后并存入一个新的txt文档.

    这个test类适合的需求是:从一个txt中截取Start与Start之间的字符并存入一个新的txt.(一个txt拆分多个txt).

    写到后来因为思路问题,变量定义的较为懒散,多多见谅.下边是代码

    package com.brainsoon.Epub.test; import java.io.*; import java.util.ArrayList; import java.util.List; /** * @author: 作者:王海岐 * @version: 版本:1.0 * @date: 创建时间:2016年8月12日 上午8:51:48 */ public class test12 { private static List<String> list = new ArrayList<String>(); private String temp; public static void main(String[] args) { test12 fileTest = new test12(); fileTest.readFile("c:/users/82621/Desktop/s/1.txt"); String txt = fileTest.list.toString(); txt = txt.replace("[", ""); txt = txt.replace(",", ""); txt = txt.replace("]", ""); txt = txt.replace(" ", ""); // int loc1 = txt.indexOf("Start"); // int loc2 = txt.indexOf("tart"); // String result = txt.substring(loc1, loc2); // System.out.println(result); // String[] s = txt.split("\\Start"); // for (int i = 0; i < s.length; i++) { // System.out.println(s[i]); // } fileTest.printFile("c:/users/82621/Desktop/s/2.txt" ,txt); } public void readFile(String fileName) { try { // FileReader fileReader = new FileReader(new File(fileName)); // BufferedReader bufferedReader = new BufferedReader(fileReader); BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),"gbk")); while ((temp = br.readLine()) != null) { list.add(temp); } br.close(); } catch (Exception e) { e.printStackTrace(); } } public void printFile(String fileName,String txt) { try { String[] s = txt.split("\\Start"); for (int i = 0; i < s.length-1; i++) { System.out.println(s[i]); File file = new File(fileName); String sssssssss =""; String ss =""; ss = file.getName(); // ss.substring(ss.indexOf("."),ss.indexOf("")) String str = fileName.substring(fileName.lastIndexOf(".") + 1); String d =ss.substring(0, ss.lastIndexOf(".")); int ssss = Integer.parseInt(d); ssss = ssss +i; String sssssss = ssss+""; System.out.println(str); System.out.println(d); System.out.println(sssssss); String sss = file.getParent(); sssssssss = sss + File.separator + sssssss+".txt"; FileWriter fileWriter = new FileWriter(new File(sssssssss)); BufferedWriter bufWriter = new BufferedWriter(fileWriter); bufWriter.write(s[i+1]); bufWriter.close(); fileWriter.close(); } } catch (Exception e) { e.printStackTrace(); } } } 谢谢观看!

    转载请注明原文地址: https://ju.6miu.com/read-1310949.html
    最新回复(0)