Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [Java]Stringa vuota

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    21

    [Java]Stringa vuota

    Salve a tutti, ho un problemino che sono sicuro sia abbastanza banale ma ne sto uscendo scemo...
    io ho il seguente codice(dove reader è un BufferedReader e fileLetto un ArrayList di stringhe, la lettura è su un file .txt)
    codice:
    	try
    		{
    			String letto = reader.readLine();
    			while(letto!=null)
    			{
                                    if(!letto.isEmpty())
                                        fileLetto.add(letto);
    				letto=reader.readLine();
    			}
    		}
    il problema è che anche quando incontra una Stringa vuota("") aggiunge la stringa all'arraylist(ho provato anche con !letto.equals("") ma niente).
    Qaulcuno ha idea di come ne posso uscire vivo?
    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Linguaggio Java --> Forum Java.

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java]Stringa vuota

    Originariamente inviato da Wahnsinn
    il problema è che anche quando incontra una Stringa vuota("") aggiunge la stringa all'arraylist
    Probabilmente (e qui posso solo tirare ad indovinare ... ) quella riga nel file non è proprio "vuota" ma magari ha uno spazio o un tab o altro carattere di controllo.

    isEmpty() o equals("") testano che la stringa sia proprio vuota (= lunghezza zero, nessun carattere). Evidentemente non è così nella riga.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Siccome la stringa vuota è lunga 0, potresti provare a controllare la lunghezza.

    ma come detto da andbin, potrebbe essere un carattere di controllo.
    se hai un testo di questo tipo
    codice:
    ciao
    
    ciao
    Probabilmente la riga centrale in questo caso non è vuota, ma contiene un Invio (valore 10 in ASCII). Quindi potresti controllare che la stringa vuota non contenga un ((char)10).

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Patrick Jane
    ma contiene un Invio (valore 10 in ASCII).
    Sicuramente no. BufferedReader accetta come terminatore di riga un CR o LF o CR+LF. Questo è ben documentato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Originariamente inviato da andbin
    Sicuramente no. BufferedReader accetta come terminatore di riga un CR o LF o CR+LF. Questo è ben documentato.
    Questo non lo sapevo

    Chiedo scusa quindi per il consiglio sopra riportato; e ti ringrazio per la correzione

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    21

    Re: Moderazione

    Originariamente inviato da LeleFT
    Linguaggio Java --> Forum Java.

    Sposto.


    Ciao.
    Ops, chiedo venia.
    Comunque problema risolto, pare che fosse un problema di sincronizzazione del progetto che avevo importato..
    Grazie comunque per le risposte

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.