Java - scanner, ponowny przebieg po pliku

0
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Scanner;

import javax.swing.JOptionPane;


public class Glowna {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		
		try{
			File plik = new File("liczby.txt");
			File plik2 = new File("posortowane.txt");
			
			Scanner odczyt = new Scanner(plik);
			PrintWriter zapis = new PrintWriter(plik2);
			
			
			int ilosc_liczb = 0;
			
			while(odczyt.hasNextInt())
			{
				odczyt.nextInt();
				ilosc_liczb++;
			}
			
			
			odczyt = new Scanner(plik);
			
			int[] tablica = new int[ilosc_liczb];
			
			for(int i = 0; i<ilosc_liczb; i++)
			{
				tablica[i] = odczyt.nextInt();
			}
			Arrays.sort(tablica);
			
			for(int i = 0; i<ilosc_liczb; i++)
			{
				zapis.print(tablica[i]);
				zapis.println();
			}
			
			odczyt.close();
			zapis.close();
			
			
		}
		
		catch(FileNotFoundException exception)
		{
			JOptionPane.showMessageDialog(null,"Nie moge znaleźć pliku" );
			
		}
		
		

	}

}
 

Witam, mam następujące pytanie. Czy jest inny sposób niż ten którego użyłem wyżej, aby Scanner zaczął przeszukiwanie pliku od nowa? Z góry dzięki za odpowiedź

0

A dlaczego czytasz plik dwa razy? Użyj kolekcji zamiast tablicy.

   ArrayList<Integer> liczby=new ArrayList<Integer>();
   while(odczyt.hasNextInt())
   {
       liczby.add(odczyt.nextInt());
   }
   Collections.sort(liczby);
   //teraz zapis

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