Ho un programma che utilizza più classi, voglio che le altre classi siano in grado di accedere allo stesso scanner che ho dichiarato nella classe principale, presumo che sarebbe fatto usando una sorta di metodo get, tuttavia non sono in grado di trovare risorse per aiutarmi.Come utilizzare lo stesso scanner su più classi in Java
Qui ci sono gli scanner che ho fatto nella mia classe principale:
Scanner in = new Scanner(System.in);
System.out.println("Enter a filename");
String filename = in.nextLine();
File InputFile = new File (filename);
Scanner reader = new Scanner(filename);
Lo scanner lettore è quello che voglio essere in grado di accedere attraverso le altre classi che compongono il programma, qualcuno può dare qualche consiglio su come posso fare questo? Grazie mille per qualsiasi aiuto!
Questo sembrerebbe essere alquanto fragile come un altro 'class' potrebbe' close() 'lo' Scanner' e rompere tutto - no? Forse dovresti leggere il file in memoria? O è molto grande? –
una opzione sarebbe dichiarare il lettore come un campo statico nella classe principale –
un'altra opzione sarebbe quella di iniettare il lettore in altri oggetti creati dalla classe principale (supponendo che la classe principale sia responsabile di tutti i collegamenti) –