PDA

View Full Version : [JAVA] utilizzare BufferedReader


Re_Kotc
25-01-2008, 15:40
Salve a tutti, sto cercando di utilizzare BufferedReader per creare un buffer e prelevare l'input da tastiera per poi utilizzarlo, ho scritto queste poche linee di codice ma non capisco dove sbaglio, non mi riconosce il metodo readLine() usato su un oggetto di tipo BufferedReader, eppure nelle specifiche della classe il metodo esiste..sapete dirmi dove sbaglio? grazie mille

import java.io.InputStreamReader;
import java.io.BufferedReader ;
import java.io.IOException;



class HTMLPage{


public static void main (String args[]){


InputStreamReader reader = new InputStreamReader (System.in);
BufferedReader input = new BufferedReader (reader);


String path = new String(input.readLine("Inserisci il percorso: "));





}


}

L'errore è cannot find symbol, method readLine, class java.io.BufferedReader

Re_Kotc
25-01-2008, 15:58
ho "risolto" anche se in realtà non ho capito la connessione logica tra le due cose, inserendo il codice in un try catch, così:
Questo in che modo ha cambiato la situazione? ora l'errore è svanito..chiedo lumi :D :D


try {

InputStreamReader reader = new InputStreamReader (System.in);
BufferedReader input = new BufferedReader (reader);


String path = new String(input.readLine());


/

} catch (IOException e){

System.out.println("Errore");

}

Re_Kotc
25-01-2008, 16:30
maledizione non capisco..ora l'errore è tornato.non capisco da cosa dipenda sapete spiegarmi perchè non riconosce il readLine() usato su BufferedReader ?...

geko84k
25-01-2008, 17:14
io l'ho compilato e nn mi da errore.....:D

Re_Kotc
25-01-2008, 17:15
intendi la prima delle due versioni??...che odio...:D :D :D :D

geko84k
25-01-2008, 17:20
no la seconda... quella con il try...

Re_Kotc
25-01-2008, 17:22
ah ok no la seconda va pure a me..e non ho capito perchè..:P

geko84k
25-01-2008, 17:35
hai ragione.. la prima da errore... kmq.. il metodo readLine() genera una eccezione quindi deve essere inserito all'interno del try.. però l'errore nn mi sembra collegato con il fatto che nn hai gestito l'eccezione... boh...:D

mad_hhatter
25-01-2008, 17:36
la seconda compila perché gestisce le eccezioni di tipo checked lanciate dal metodo readLine() e perché invoca correttamente tale metodo.

la prima non compila perché readLine non ha parametri, mentre tu gli passi una stringa, per cui ti dice che non riesce a trovare un metodo readLine che accetti una stringa come parametro

Re_Kotc
25-01-2008, 17:47
uhm...quindi devo utilizzare per forza try catch se utilizzo un metodo che prevede eccezioni? scusate ma programmo in java da poco....per la faccenda dell'argomento di readLine è stato un errore idiota ma prima utilizzavo un readLine di un altro package che invece accettava una stringa come argomento...grazie mille ora mi è più chiaro! :)

geko84k
25-01-2008, 17:47
giusto... che stupido...:muro:

geko84k
25-01-2008, 17:55
si... se un metodo genera una eccezzione quest'ultima deve essere gestista.. altrimenti il compilatore da errore...

Re_Kotc
25-01-2008, 22:46
ok grazie mille :D