import java.io.*; import java.util.*; public class Kadunudlehed{ public static void main(String[] argumendid) throws IOException{ List faililoetelu=new LinkedList(); BufferedReader sisse=new BufferedReader(new FileReader("failid.txt")); for(String rida=sisse.readLine(); rida!=null; rida=sisse.readLine()){ faililoetelu.add(rida); } List analyysitud=new LinkedList(); List analyysimata=new LinkedList(); analyysimata.add("avaleht.html"); while(analyysimata.size()>0){ String failinimi=(String)analyysimata.remove(0); analyysitud.add(failinimi); System.out.println("Asutakse uurima "+failinimi); sisse=new BufferedReader(new FileReader(failinimi)); for(String rida=sisse.readLine(); rida!=null; rida=sisse.readLine()){ if(rida.indexOf("href=\"")>0){ int algus=rida.indexOf("href=\"")+6; int ots=rida.indexOf("\"", algus); String viide=rida.substring(algus, ots); System.out.println(analyysitud+" "+analyysimata); if(!(analyysitud.contains(viide) || analyysimata.contains(viide))){ analyysimata.add(viide); System.out.println("Analyysi lisatakse "+viide); } if(faililoetelu.contains(viide)){ faililoetelu.remove(viide); System.out.println("Loetelust eemaldatakse "+viide); } } } } System.out.println("Analyysiti "+analyysitud); System.out.println("Kattesaamatud "+faililoetelu); } } /* Asutakse uurima avaleht.html [avaleht.html] [] Analyysi lisatakse tooted.html Loetelust eemaldatakse tooted.html [avaleht.html] [tooted.html] Analyysi lisatakse kontakt.html Loetelust eemaldatakse kontakt.html [avaleht.html] [tooted.html, kontakt.html] Analyysi lisatakse lahtiolekuajad.html Loetelust eemaldatakse lahtiolekuajad.html Asutakse uurima tooted.html [avaleht.html, tooted.html] [kontakt.html, lahtiolekuajad.html] Analyysi lisatakse saiad.html Loetelust eemaldatakse saiad.html [avaleht.html, tooted.html] [kontakt.html, lahtiolekuajad.html, saiad.html] Loetelust eemaldatakse avaleht.html [avaleht.html, tooted.html] [kontakt.html, lahtiolekuajad.html, saiad.html] Asutakse uurima kontakt.html [avaleht.html, tooted.html, kontakt.html] [lahtiolekuajad.html, saiad.html] Asutakse uurima lahtiolekuajad.html [avaleht.html, tooted.html, kontakt.html, lahtiolekuajad.html] [saiad.html] Asutakse uurima saiad.html [avaleht.html, tooted.html, kontakt.html, lahtiolekuajad.html, saiad.html] [] [avaleht.html, tooted.html, kontakt.html, lahtiolekuajad.html, saiad.html] [] [avaleht.html, tooted.html, kontakt.html, lahtiolekuajad.html, saiad.html] [] Analyysiti [avaleht.html, tooted.html, kontakt.html, lahtiolekuajad.html, saiad. html] Kattesaamatud [peidetudleht.html] */