package cn.lesile.shell;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TranFiles {
public static void main(String args[]) {
String files = readByBufferedReader("E:/DFEG12121L90908908.xml");
writeByBufferedReader(files, "D:/DFEG12121L90908908.xml");
}
// 读取指定目录下的文件
public static String readByBufferedReader(String fileName) {
String s = "";
try {
File file = new File(fileName);
// 读取文件,并且以utf-8的形式写出去
BufferedReader bufread;
String read;
bufread = new BufferedReader(new FileReader(file));
// 将文件的内容按行读取出来
while ((read = bufread.readLine()) != null) {
s = s + read;
}
bufread.close();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
// 去除字符串s中的空格
Pattern p = Pattern.compile("\\s*|\n|\r");
Matcher m = p.matcher(s);
String string = m.replaceAll("");
String context = "";
// 正则表达式
String rgex = "<EaHouses>(.*?)</EaHouses>";
Pattern pattern = Pattern.compile(rgex);// 匹配的模式
Matcher mt = pattern.matcher(string);
List<String> list = new ArrayList<String>();
while (mt.find()) {
int i = 1;
list.add(mt.group(i));
context = context = list.get(i - 1);
i++;
}
return context;
}
// 将文件写到指定目录下
public static void writeByBufferedReader(String files, String path) {
try {
String content =files;
File file = new File(path);
// if file doesnt exists, then create it
if (file.exists()) {
file.delete();
}
PrintWriter pr=new PrintWriter(path);
String[] ss = files.split("</EaHouseInfo>");
for(String s:ss) {
pr.write(s+"</EaHouseInfo>"+"\r\n");
}
pr.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// try {
// String content =files;
// File file = new File(path);
// // if file doesnt exists, then create it
// if (file.exists()) {
// file.delete();
// }
// FileWriter fw = new FileWriter(file, true);
// BufferedWriter bw = new BufferedWriter(fw);
// bw.write(content);
// bw.flush();
// bw.close();
//
// } catch (IOException e) {
// e.printStackTrace();
// }
}
}