|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2008
Messaggi: 39
|
[JAVA] Lettura file vuoto con BufferedReader
Ciao a tutti,
ho necessità di gestire la lettura di un file di testo vuoto. Non riesco a capire cosa restituisce readLine() applicata su un file vuoto. Nel seguito riporto il classico codice per gestire la lettura da file ________________________________________________________ File file=new File(path_file); FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); //Prende la prima riga del file String linea=br.readLine(); if(linea != null){ System.out.println("File non vuoto"); }else{ System.out.println("File vuoto"); } |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Jun 2008
Messaggi: 17
|
scusa,perchè nn mandi su video proprio la readLine?cioè, perchè prima dell'if nn metti l'istruzione System.out.println(br.readLine())?così saprai cosa manda in uscita.sempre se è qst il tuo problema
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Mar 2008
Messaggi: 39
|
Quote:
_____________________________________ String linea=br.readLine(); System.out.println(linea); if( linea!= null){ System.out.println(File non vuoto); }else{ System.out.println("File vuoto"); } _____________________________________ OUTPUT: null null cioè praticamente la condizione dell'if non mi intercetta il null prodotto da readLine(). Come risolvere?? |
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Jun 2008
Messaggi: 17
|
ma nell'if nn entra proprio????mi sembra strano.
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Mar 2008
Messaggi: 39
|
no...non entra proprio....
|
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Jun 2008
Messaggi: 17
|
c'ho provato con together e mi funziona perfettamente.nn so cosa possa essere da te.il codice che ho inserito è qst,con l'aggiunta dei "try/catch"per gestire le varie eccezioni:
String path_file="esempio.txt"; File file=new File(path_file); FileInputStream fis; try { fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); // Prende la prima riga del file String linea=br.readLine(); if(linea != null){ System.out.println("File non vuoto"); }else{ System.out.println("File vuoto"); } } catch (FileNotFoundException e) {} catch (IOException e) {} dove "esempio.txt" è semplicemente un file di testo vuoto inserito nel workspace. mi dispiace...nn so che dirti a qst punto |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ho fatto anche io una prova con il tuo codice:
Codice:
public class Main {
static final private String path_file = "C:/text.txt";
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws FileNotFoundException, IOException
{
File file = new File(path_file);
BufferedReader br = new BufferedReader(
new InputStreamReader(new FileInputStream(file)));
String linea = br.readLine();
if (linea != null)
{
System.out.println("File non vuoto");
System.out.println(linea);
System.out.println("---");
}
else
{
System.out.println("File vuoto");
System.out.println("---");
}
}
}
Sei sicuro che il tuo file di testo sia completamente *vuoto*? Non è che magari era presente una escape sequence non visibile (tipo una \n "newline")? Verifica aprendo il file txt con un editor che ti permetta di visualizzare i "caratteri nascosti" (per esempio TextPad).
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Mar 2008
Messaggi: 39
|
ok...grazie mille per i consigli !
Ho risolto.... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:59.



















