package neko5;
import tool.*;
import java.io.*;
public class pro {
int s,datanumber;
String[] data=new String[600];
String[] delta=new String[70];
String[][] memo=new String[70][100];
int[][] card=new int[70][10];
int[][] point=new int[70][100];
String[][] memox=new String[70][100];
String[] name=new String[70];
String[] t=new String[7000];
int[][] box=new int[7][7];
int[] page=new int[7];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
int tr;
for(tr=1;tr<337;tr++){
readfile sub=new readfile();
sub.makedata("data/"+tr+".txt","UTF-8");
data=sub.data;
datanumber=sub.datanumber;
String str="";
for(s=1;s<datanumber+1;s++){
str=str+data[s];
if(data[s].indexOf("<TITLE>")>-1)t[tr]=data[s];
}
System.out.println(t[tr]);
String[] x=str.split("p.m.-->");
int sx=0;
for(s=1;s<x.length;s++){
if(x[s].indexOf("</TD>")>-1)sx=sx+1;
if(x[s].indexOf("</TD>")>-1)delta[sx]=x[s];
}
for(s=1;s<6;s++){
delta[s]=ch(delta[s]);
String[] y=delta[s].split("</TD>");
for(sx=1;sx<7;sx++){
memo[s][sx]="";
}
int k=0;
for(sx=1;sx<y.length-1;sx++){
if(y[sx].indexOf("<TD")>-1)k=k+1;
if(y[sx].indexOf("<TD")>-1)memo[s][k]=y[sx].replace("<BR>","△");
if(y[sx].indexOf("<TD")>-1)System.out.println(s+","+k+","+memo[s][k]);
}
page[s]=k;
}
String str2="ROWSPAN=\"2";
String str3="ROWSPAN=\"3";
String str4="ROWSPAN=\"4";
String str5="ROWSPAN=\"5";
for(s=1;s<6;s++){
for(sx=1;sx<page[s]+1;sx++){
point[s][sx]=1;
if(memo[s][sx].indexOf(str2)>-1)point[s][sx]=2;
if(memo[s][sx].indexOf(str3)>-1)point[s][sx]=3;
if(memo[s][sx].indexOf(str4)>-1)point[s][sx]=4;
if(memo[s][sx].indexOf(str5)>-1)point[s][sx]=5;
}
}
for(s=1;s<6;s++){
for(sx=1;sx<7;sx++){
box[s][sx]=0;
memox[s][sx]="";
}
}
int n,m,k;
for(n=1;n<6;n++){
for(m=1;m<page[n]+1;m++){
k=point[n][m];
search(n,m,k);
}}
name[1]="NHK";
name[2]="日本";
name[3]="TBS";
name[4]="フジ";
name[5]="朝日";
name[6]="東京";
writexml("gdata/"+tr+".txt");
}
writeindex("ren.txt");
}
String ch(String w1){
int p1=w1.indexOf("<TABLE");
int p2=-1;
p2=w1.indexOf("</TABLE",p1);
String w2="";
if(p2>-1)w2=w1.substring(p1,p2);
String w3=w2.replace("</TD>","");
w1=w1.replace(w2, w3);
return w1;
}
void writexml(String file){
int s,sx;
try{
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file)));
for(s=1;s<6;s++){
for(sx=1;sx<7;sx++){
pw.print("<time>");
pw.print(s+6);
pw.print("</time>");
pw.print("<sta>");
pw.print(name[sx]);
pw.print("</sta>");
pw.print("<tv>");
pw.print(change(memox[s][sx]));
pw.println("</tv>");
}
}
System.out.println("ファイルに書きこみました。");
pw.close();
} catch(IOException ep){ System.out.println("入出力エラーです。"); }
}
void writeindex(String file){
int s,sx;
try{
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file)));
for(s=1;s<337;s++){
pw.println(t[s]);
}
System.out.println("ファイルに書きこみました。");
pw.close();
} catch(IOException ep){ System.out.println("入出力エラーです。"); }
}
void search(int n,int m,int k){
int sx;
int sxs=0;
for(sx=1;sx<7;sx++){
int h=0;
if(box[n][sx]==0)h=h+1;
if(sxs==0)h=h+1;
if(h==2)sxs=sx;
}
if(k==1)box[n][sxs]=100;
if(k==2)box[n][sxs]=100;
if(k==2)box[n+1][sxs]=100;
if(k==3)box[n][sxs]=100;
if(k==3)box[n+1][sxs]=100;
if(k==3)box[n+2][sxs]=100;
if(k==4)box[n][sxs]=100;
if(k==4)box[n+1][sxs]=100;
if(k==4)box[n+2][sxs]=100;
if(k==4)box[n+3][sxs]=100;
if(k==5)box[n][sxs]=100;
if(k==5)box[n+1][sxs]=100;
if(k==5)box[n+2][sxs]=100;
if(k==5)box[n+3][sxs]=100;
if(k==5)box[n+4][sxs]=100;
memox[n][sxs]=memo[n][m];
}
String change(String str){
int n;
for(n=1;n<11;n++){
str=rev(str);
}
str=str.trim();
return str;
}
String rev(String str){
if(str==null)str="";
int p1=str.indexOf("<");
int p2=str.indexOf(">",p1);
String strx="";
if(p2>-1)strx=str.substring(p1,p2+1);
str=str.replace(strx,"");
return str;
}
}
最終更新:2016年08月28日 23:00