利用java的IO读取文本数据,通过正则表达式匹配固定格式内容,然后将匹配出来的数据写入到另一个文件。
java具体代码:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Package: com.xgd.storm.analyzer.busi.app.base
*
* File: Test.java
*
* Copyright @ 2015 Corpration Name
*
*/
public class Test {
public static String readAndWrite(){
File readFile = new File("E:\\Test\\file1.txt");
File writeFile = new File("E:\\Test\\file2.txt");
FileReader reader = null;
FileWriter writer = null;
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
reader = new FileReader(readFile);
writer = new FileWriter(writeFile, true);
bufferedReader = new BufferedReader(reader);
bufferedWriter = new BufferedWriter(writer);
String str = bufferedReader.readLine();
Pattern pattern = Pattern.compile("\\b\\w*=\\w*\\b");
while(str != null){
Matcher matcher = pattern.matcher(str);
while(matcher.find()){
System.out.println(matcher.group());
bufferedWriter.write(matcher.group()+" ");
}
if (!str.equals("")) {
bufferedWriter.newLine();
}
str = bufferedReader.readLine();
}
bufferedWriter.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
reader.close();
writer.close();
bufferedReader.close();
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
public static void main(String[] args) {
readAndWrite();
}
}