Wypisywanie zawartości linij

0

Napisałem taki oto program :

	String czytaj(String plik, int wiersz) throws IOException{
	FileReader fr = new FileReader(plik);
	BufferedReader br = new BufferedReader(fr);
		for(int i=1; i < wiersz+1; i++){
			if (i == wiersz){
			return br.readLine();	
			} 
		br.readLine();
		} 
	return "BABOL";
	}

(a właściwie to jest tylko metoda :D)
jego zadaniem jest wypisywanie podanej linij z pliku tekstowego.
Program działa poprawnie niepokoi mnie tylko ta pętla, przy dużym pliku wypisanie linij powiedzmy 100000 trochę potrwa ...
zastanawiam sie więc czy nie ma jakiejś metody "wbudowanej w jave" która może zrobić cos takiego, zakładam że jeśli cos takiego istnieje będzie na pewno szybsze w działaniu.

0

Niestety nie ma :(

Problem jest typowo liniowy i nie można go zoptymalizować w prosty sposób. Jeżeli miałbym się bawić to podszedł bym do tego w tak:
Wczytał całość pliku do pojedynczego Stringa jako np. tablicę bajtów. Następnie przekształcił w tablicę dzieląc po znaku \n po czym wybrał interesujący mnie element wprost z tablicy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1