把一个txt通过特殊的标识分割成多个txt
功能介绍:
从本地读取一个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 list = new ArrayList();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();}}}
谢谢观看!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
