日期:2014-05-18  浏览次数:20758 次

java写入txt不被覆盖并实现换行?
本帖最后由 hanzhe999_ 于 2013-04-10 11:15:42 编辑
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class HtmlRe3 {

/**
 * @param args
 */
static String ln1;
static String ln2;
static String ln3;
static String ln4;
static int i=0;
public static void main(String[] args) {
// TODO Auto-generated method stub
         
try {
BufferedReader br=new BufferedReader(new FileReader("C:\\Documents and Settings\\chli\\桌面\\malawi-hospital-expands-use-of-electronic-records-49123.htm"));
String line="";
try {
while((line=br.readLine())!=null){
parse(line);
i++;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

private static void parse(String line) throws IOException {
// TODO Auto-generated method stub
Pattern p1=Pattern.compile("<[^BR]*>");
Matcher m1=p1.matcher(line);
if(m1.find()){
ln1=line.replaceAll("<[^BR]*>", "");
ln2=ln1.replaceAll("<BR>", "\n");
parse1(ln2);

}
}

private static void parse1(String ln22) throws IOException {
// TODO Auto-generated method stub
Pattern p2=Pattern.compile("<[^>]*>");
Matcher m2=p2.matcher(ln2);
if(m2.find()){
ln3=ln2.replaceAll("<[^>]*>", "");
parse2(ln3);
}
}

private static void parse2(String ln32) throws IOException {
// TODO Auto-generated method stub
Pattern p3=Pattern.compile(".*[,.].*");
Matcher m3=p3.matcher(ln3);
if(m3.matches()){
//     System.out.println(m3.group());
// System.out.println(ln3);
// parse4(ln3);
parse5(ln3);
}
}

private static void parse5(String ln32) throws IOException {
// TODO Auto-generated method stub
File f=new File("d:\\mldn.txt");
f.createNewFile();
FileOutputStream fos=new FileOutputStream(f);
byte b[]=(ln32).getBytes();
try {
fos.write(b);
} catch (IOException e) {
// TODO Auto-generated catch block
e.pr