Ciao a tutti!
Chi saprebbe dirmi gentilmente perché il seguente programma mi dà la seguente eccezione?
Teoricamente il programma dovrebbe leggere un file txt di prova, con il nome impostato dall'utente, analizzarne il contenuto e fornire il numero di lettere, il numero di parole e il numero di righe presenti nel file lanciando un'eccezione se non lo trova.codice:java.lang.NullPointerException at File.numParole(File1.java:12) at ProvaFile.main(ProvaFile.java:11)
Classe:
Main di prova:codice:import java.io.*; import java.util.*; class File{ public File(String nomFile) throws IOException{ FileReader leggiParole = new FileReader(nomFile+".txt"); Scanner inParole = new Scanner(leggiParole); System.out.println( inParole.nextLine()); } public int numParole() throws FileNotFoundException{ int contaParole = 0; String parole; while(inParole.hasNext()){ parole = inParole.next(); System.out.println(parole); contaParole++; } return contaParole; } public int numLinee() throws FileNotFoundException{ int contaLinee = 0; String linee; while(inParole.hasNext()){ linee = inParole.nextLine(); System.out.println(linee); contaLinee++; } return contaLinee; } public int numLettere() throws FileNotFoundException{ int contaLettere = 0; String lettere; while(inParole.hasNext()){ lettere = inParole.nextLine(); for(int i = 0; i < lettere.length(); i++){ System.out.println( lettere.charAt(i)); contaLettere++; } } return contaLettere; } private FileReader leggiParole; private static Scanner inParole; }
per provarlo si può usare un qualunque txtcodice:import java.io.*; import java.util.*; class ProvaFile{ public static void main(String[] poi) throws IOException{ try { System.out.println("Scrivi il file da dove vuoi leggere:"); Scanner istruzioni = new Scanner(System.in); String nomFile = istruzioni.nextLine(); System.out.println(nomFile); File leggi = new File(nomFile); System.out.println("Le parole presenti nel file sono: "+leggi.numParole()); System.out.println("Le linee presenti nel file sono: "+leggi.numLinee()); System.out.println("Le lettere presenti nel file sono: "+leggi.numLettere()); } catch (FileNotFoundException s) { System.out.println("Nome del file non corretto"); } } }
Grazie!!

Rispondi quotando