import java.io.*; import java.util.StringTokenizer; import java.util.Vector; /*------------Sisend: textifail ning 'säna'; V„ljund: sänad, mida oli failis sänaga 'säna' hepalju.*/ //!!!!!!! c:\java\ java Tekstifaile fail.txt k„nguru !!!!!!!!! //-------------------------------------------------------------------------- public class Tekstifail{ public static void main(String argumendid[]) throws IOException { if(argumendid.length!=2){ //args[0]=faili_nimi, args[1]=sona System.out.println("Puudub failinimi väi sona voi molemad!"); System.exit(0);} //kui peale 'java Tekstifaile' pole 2 säna, siis exit. String failinimi=new String(argumendid[0]); String sona=new String(argumendid[1]); String sb2=Tekstiabi.loeFail(failinimi);// pikk_säne String lausemassiiv[]= Tekstiabi.lauseteks(sb2); int lausetearv=0; //mitmes lauses sona on int arvlauses_i=0; //sona esinemise arv konkreetses lauses int kokku=0; //sona arv kogu failis for(int i=0; i0){ /*kui sona on lauses i*/ arvlauses_i=Tekstiabi.loenda(lausemassiiv[i].trim()," "+sona+" "); kokku= arvlauses_i+kokku; System.out.println(lausemassiiv[i]+"\n"+arvlauses_i+ " korda selles lauses----------------"); //kirjuta lause ekraanile lausetearv=lausetearv+1;} //ja suurenda lausete arvu, kus sona on } System.out.println("So~na "+sona+" oli "+lausetearv+" lauses."); System.out.println(" So~na "+sona+" esines failis "+kokku+" korda."); System.out.println("-----Lopp 1-----");System.in.read(); /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ String[] sonamassiiv=Tekstiabi.sonadeks(sb2); for(int i=0; i"); System.in.read();System.in.read(); /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ String uussona;//meil on vaja selle Stringi (uussona) failis esinemise arvu int uussona_total=0;//mitu korda esineb uussona failis String pikk_sone=Tekstiabi.loeFail(argumendid[0]);//käik laused ksteise otsas Vector ladu=new Vector(); for(int i=0; i"); } /*sulgeme main() meetodi*/ } /*sulgeme klassi Tekstifail'i*/ //-------------------- class Tekstiabi{ //loeb tekstifaili u"heks pikaks so~neks static String loeFail(String failinimi) throws IOException{ StringBuffer sb=new StringBuffer(); RandomAccessFile rf=new RandomAccessFile(failinimi, "r"); String rida=rf.readLine(); while(rida!=null){ sb.append(rida+" ");//lisa rida StringBuffer loppu rida=rf.readLine(); } int pikkus=sb.length(); sb.delete(pikkus-1, pikkus);//kustutab viimase tyhiku return new String(sb); //tagastab uue ilma tyhikuta sb } //muudab pika sona lausemassiiviks static String[] lauseteks(String s){ //saadame talle stringi StringTokenizer st=new StringTokenizer(s, ".?!", true); String laused[] = new String[st.countTokens()]; int koht=0; while(st.hasMoreTokens()){ laused[koht++]=st.nextToken();//konstrueerime massiivi "laused[]" } return laused; //tagastab kysijale lausemassiivi } //muudab pika sona sonamassiiviks static String[] sonadeks(String s){ //saadame talle stringi StringTokenizer st=new StringTokenizer(s, " ", true); String sonad[] = new String[st.countTokens()]; int koht=0; while(st.hasMoreTokens()){ //kuni on sänu sonad[koht++]=st.nextToken(); } return sonad; //tagastab kysijale sonamassiivi } //loendab, mitu sona on lauses static int loenda(String lause, String sona){ int nr=0, algkoht=0; while(algkoht=0){ //kui lauses leidub see sona mingil positsioonil nr++; algkoht=koht+sona.length();//suurendab sona esinemise arvu } else algkoht=lause.length(); } return nr; //valjastab kysijale kysitud sonade arvu lauses } /*sulgeme meetodi loenda() */ } /*sulgeme klassi Tekstiabi*/