import java.io.*;
import java.util.List;
import net.reduls.igo.Morpheme;
import net.reduls.igo.Tagger;
public class ren{
String[] data=new String[50000];
String[] article=new String[500];
String[] word=new String[10000];
String[][] memo=new String[200][10000];
int[] mnumber=new int[200];
int s,sx,datanumber,articlenumber;
int wordnumber;
String file;
String str,str1;
int page;
int n,nx;
public static void main(String[] args){
ren test=new ren();
}
ren(){
for(page=1;page<220;page++){
file="gdata/";
file=file+page;
file=file+".txt";
readfile(file);
str1=")";
for(s=1;s<datanumber+1;s++){
String[] x=data[s].split(str1);
str="";
if(x.length>1)str=x[1];
article[s]=str;
}
for(s=1;s<datanumber+1;s++){
str=article[s];
makeword(str);
for(sx=1;sx<wordnumber+1;sx++){
memo[s][sx]=word[sx];
}
mnumber[s]=wordnumber;
}
file="pdata/";
file=file+page;
file=file+".txt";
writefile(file);
}
}
void writefile(String file){
try{
PrintWriter pw = new PrintWriter
(new BufferedWriter(new FileWriter(file)));
for(s=1;s<datanumber;s++){
for(sx=1;sx<mnumber[s];sx++){
pw.print("<");
pw.print(memo[s][sx]);
pw.print(">");
}
sx=mnumber[s];
pw.print("<");
pw.print(memo[s][sx]);
pw.println(">");
}
System.out.println("ファイルに書きこみました。");
pw.close();
}
catch(IOException ep){ System.out.println("入出力エラーです。"); }
}
void makeword(String str){
int s;
s=0;
try {
Tagger tagger = new Tagger( "ipadic" );
List<Morpheme> list = tagger.parse(str);
for(Morpheme morph : list ){
s=s+1;
word[s]=morph.surface;
}
} catch(IOException e) { System.err.println(e.getMessage()); }
wordnumber=s;
}
void readfile(String file){
String str;
BufferedReader br;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"SJIS"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
} catch (IOException e) {System.out.println(e);}
datanumber=s;
}
}
最終更新:2011年07月03日 22:29