Szövegfájlból (szoveg.txt) indexfájl (index.txt) létrehozása (Indexelo.java) import java.io.*; public class Indexelo{ public static String[] sor=new String[100]; public static String[] szo=new String[500]; public static int N; public static void rendez(String[] sz, int N){ Elrendezzük a paraméterként megkapott tömb elemeit. int i,j; String x; i=0; while (i+1<N){ j=i+1; while(j<N){ if (sz[j].compareTo(sz[i])<0){ x=sz[j]; sz[j]=sz[i]; sz[i]=x; } j=j+1; } i=i+1; } } public static void main(String[] args) throws Exception{ LineNumberReader in=new LineNumberReader(new InputStreamReader( new FileInputStream("szoveg.txt"))); PrintStream out=new PrintStream(new FileOutputStream("index.txt")); int i=-1; String s=in.readLine(); while(s!=null){ A sor tömbbe eltároljuk a szoveg.txt sorait. if (i==100) break; i++; sor[i]=s; s=in.readLine(); } in.close(); Használat után bezárjuk az in csatornát. N=i; Beállítjuk az N változóba a sorok számát. int j=-1; for (i=0; i<N; i++){ A sorok tömb elemeit szavakra bontjuk a korábban bemutatott program elvének használatával. int i1=0; int i2=sor[i].indexOf(' '); while(i2>=0){ if((i2>i1) && (j<500)){ j++; szo[j]=sor[i].substring(i1,i2); } i1=i2+1; i2=sor[i].indexOf(' ',i1); } if(i1<sor[i].length()) szo[++j]=sor[i].substring(i1); Ha a .substring() függvénynek 1 db bemenő paramétere van, akkor az azután levő összes karaktert visszaadja. } rendez(szo,j); Elrendezzük a szo tömb elemeit, az ezt követő ciklussal beleírjuk az elrendezett tömb elemeit az index.txt fájlba. for(i=0;i<j;i++){ out.println(szo[i]); } out.close(); } }