import java.io.*; import java.util.*; import java.util.regex.*; class nisedatfind { public static void main(String[] args) { try { FileReader in = new FileReader("uho.txt"); /*入力用ファイル*/ BufferedReader br = new BufferedReader(in); String line; File out = new File("yaranaika.txt"); /*出力用ファイル*/ int cnt=0; /*レス数カウント*/ int cnt2=0; StringBuilder builder = new StringBuilder(); /*全体用*/ StringBuilder builder2 = new StringBuilder(); /*メール欄処理用*/ StringBuilder builder3 = new StringBuilder(); /*名前欄処理用*/ StringBuilder builder4 = new StringBuilder(); /*日付,ID欄処理用*/ StringBuilder builder5 = new StringBuilder(); /*本文処理用*/ /*出力用が存在しない場合に生成*/ boolean chk = false; try { chk = out.createNewFile(); } catch (IOException e) { e.printStackTrace(); } /*出力用ファイル処理*/ FileWriter filewriter = new FileWriter(out); /*最初の<dl>*/ System.out.println("<dl>"); filewriter.write("<dl>"); while ((line = br.readLine()) != null) { cnt++; /*System.out.println(line);*/ /*<br>のある箇所で改行 line = line.replaceAll("<br>","\r\n");*/ /*<>で切り分け*/ String line2[]=line.split("<>"); /*行頭*/ String gyoto="<dt>"+cnt; gyoto=gyoto+" "; builder.append(gyoto); for(int i=0; i<line2.length; i++) { /*名前欄*/ if(i==0) { builder3.append(line2[i]); } /*メール欄*/ if(i==1) { builder2.append(line2[i]); } /*日付、ID欄*/ if(i==2) { builder4.append(line2[i]); } /*本文*/ if(i==3) { builder5.append(line2[i]); } /*System.out.println(line2[i]); filewriter.write(line2[i]);*/ } /*メール欄処理*/ String mail=builder2.toString(); mail="<a href=mailto:"+mail+">"; String kmail="<a href=mailto:>"; /*メール欄が空欄の場合名前欄を緑に*/ if(mail.equals(kmail)) { mail = mail.replaceAll("<a href=mailto:>","<font color=green>"); } boolean fa = mail.startsWith("<font"); builder.append(mail); /*名前欄処理*/ String name=builder3.toString(); name="<b>"+name+"</b>"; /*fontタグスタート(メール欄無し)であれば</font>、aスタート(メール欄有り)であれば</a>を付加*/ if(fa==true) { name=name+"</font> "; } else { name=name+"</a> "; } builder.append(name); /*日付、id欄処理*/ String daid=builder4.toString(); /*daid=" "+daid;*/ /*daid=" :20"+daid; 90年代を無視。どうやって判定するんだ*/ builder.append(daid); /*本文処理*/ String honbun=builder5.toString(); honbun="<dd>"+honbun+"<br><br>"; builder.append(honbun); /*検索と表示*/ String line3=builder.toString(); /*全部くっつけた*/ FileReader in2 = new FileReader("iiotoko.txt"); /*検索用ファイル*/ BufferedReader br2 = new BufferedReader(in2); String sword; while ((sword = br2.readLine()) != null) { if(line3.indexOf(sword) != -1) { System.out.println(line3); System.out.println("\r\n"); /*ファイルに保存*/ filewriter.write(line3); filewriter.write("\r\n"); cnt2++; /*該当行数カウント*/ } } /*builder初期化*/ builder.setLength(0); builder2.setLength(0); builder3.setLength(0); builder4.setLength(0); builder5.setLength(0); } /*最後の</dl>*/ System.out.println("</dl>"); filewriter.write("</dl>"); /*行数表示*/ System.out.println(cnt2+"/"+cnt); br.close(); in.close(); filewriter.close(); } catch (IOException e) { System.out.println(e); } } }