Visualizzazione dei risultati da 1 a 2 su 2

Discussione: problema StringBuffer

  1. #1
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177

    problema StringBuffer

    Ciao ho un problemino di cui non capisco la soluzione della prof...in pratica devo leggere da file diverse righe di testo;la mia soluzione è:
    codice:
    import java.io.*;
    class Testprova{
    public static void main(String[] args) throws IOException{
    FileReader f=new FileReader("lorem1.txt");
        BufferedReader b=new BufferedReader(f);
        String titolo=b.readLine();
        String autore=b.readLine();
        
        String testo=null;
        while((testo=b.readLine())!=null){
        System.out.println(testo);
    }
    
    }
     }
    Compilandolo sembra tutto a posto ma la soluzione del problema è un pò diversa;crea uno StringBuffer e poi ci appende il testo:

    codice:
    String testo;
        StringBuffer t = new StringBuffer();
        while((testo=b.readLine())!=null){
        t.append(testo);
    }
    Perchè crea uno StringBuffer?Non sarebbe più semplice la mia soluzione?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da el92 Visualizza il messaggio
    Perchè crea uno StringBuffer?Non sarebbe più semplice la mia soluzione?
    Se volevi solo stampare le righe, sì il tuo while su readLine con la stampa della riga è appropriato.

    Mentre invece

    codice:
    while((testo=b.readLine())!=null){
        t.append(testo);
    }
    Di per sè è dubbio/inappropriato (senza altri chiarimenti), perché readLine legge la riga e te la restituisce ma senza il newline. Quindi così facendo tutte le righe verrebbero attaccate una all'altra come se fosse una riga sola!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.