package bra;
import tool.*;
import java.io.*;
import java.io.File;
public class pro {
int s,datanumber;
String[] data=new String[5000];
String[][] v=new String[500][100];
String[] credit=new String[100];
String[] topic=new String[100];
String[] index=new String[500];
String[] subindex=new String[500];
double[][] point=new double[100][100];
int number;
String date;
public static void main(String[] args) {
pro test=new pro();
}
pro(){
int q=0;
File cc=new File("data");
String[] cx=cc.list();
int mx;
for(mx=0;mx<cx.length;mx++){
readfile sub=new readfile();
sub.makedata("data/"+cx[mx],"UTF-8");
data=sub.data;
datanumber=sub.datanumber;
int delta;
for(s=1;s<datanumber+1;s++){
for(delta=1;delta<51;delta++){
camma(s);
}
}
for(s=1;s<datanumber+1;s++){
data[s]=rev_csv(data[s]);
}
System.out.println("b");
int sx;
number=0;
for(s=1;s<datanumber+1;s++){
for(sx=0;sx<100;sx++){
v[s][sx]="";
}}
for(s=1;s<datanumber+1;s++){
String[] x=data[s].split(",");
for(sx=0;sx<x.length;sx++){
v[s][sx]=x[sx];
}
if(x.length>number)number=x.length;
}
date=v[1][0];
System.out.println(date);
for(s=1;s<number;s++){
credit[s]="";
}
for(s=3;s<number;s++){
credit[s]=v[3][s];
topic[s]=v[4][s];
if(credit[s].length()<1)credit[s]=credit[s-1];
}
for(s=5;s<datanumber+1;s++){
index[s]="";
}
for(s=6;s<datanumber+1;s++){
index[s]=v[s][0];
subindex[s]=v[s][2];
if(index[s].length()<1)index[s]=index[s-1];
}
int h=0;
if(date.indexOf("第1表")>-1)h=h+1;
if(h==1){
q=q+1;
writexml("gdata/"+q+".txt");
}
}
}
void writexml(String file){
int s,sx;
try{
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file)));
for(s=6;s<datanumber+1;s++){
for(sx=3;sx<number;sx++){
pw.print("<date>");
pw.print(date);
pw.print("</date>");
pw.print("<index>");
pw.print(index[s]);
pw.print("</index>");
pw.print("<subindex>");
pw.print(subindex[s]);
pw.print("</subindex>");
pw.print("<credit>");
pw.print(credit[sx]);
pw.print("</credit>");
pw.print("<subcredit>");
pw.print(topic[sx]);
pw.print("</subcredit>");
pw.print("<value>");
pw.print(v[s][sx]);
pw.println("</value>");
}
}
System.out.println("ファイルに書きこみました。");
pw.close();
} catch(IOException ep){ System.out.println("入出力エラーです。"); }
}
void camma(int s){
int k=0;
if(count(data[s])<50)k=100;
if(k>50)data[s]=data[s]+data[s+1];
int sx;
for(sx=s+1;sx<datanumber+1;sx++){
if(k>50)data[sx]=data[sx+1];
}
if(k>50)datanumber=datanumber-1;
}
String rev_csv(String str){
String str5=str;
int px=str5.indexOf("\"");
while(px>-1){
str5=rev(str5);
px=str5.indexOf("\"");
}
return str5;
}
String rev(String str){
int p1=str.indexOf("\"");
int p2=str.indexOf("\"",p1+1);
String str1=str.substring(0,p1);
String str2=str.substring(p1+1,p2);
String str3=str.substring(p2+1,str.length());
str2=str2.replace(",","");
return str1+str2+str3;
}
int count(String str){
int c=0;
int p1=str.indexOf("\"");
if(p1>-1)c=1;
while(p1>-1){
p1=str.indexOf("\"",p1+1);
if(p1>-1)c=c+1;
}
int c1=c/2;
int z=0;
if(2*c1==c)z=100;
return z;
}
}
最終更新:2016年05月21日 07:45