功能介绍:
从本地读取一个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();
}
}
}
谢谢观看!