Visualizzazione dei risultati da 1 a 7 su 7

Discussione: BufferedReader

  1. #1

    BufferedReader

    Qualcuno mi spiega come funziona questa classe per leggere le stringhe da input?
    Qual'è la sintassi precisa?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,327
    Come funziona: è scritto tutto nella documentazione.

    La sintassi precisa per cosa? Di esempi di BufferedReader ce ne sono a bizzeffe su questo forum. Leggere da input... è ovvio, non si può leggere dall'output, ma solo dall'input. L'input, in questo caso, è un qualsiasi Reader (che, a sua volta, può essere costruito a partire da qualunque sorgente di dati).

    Un semplice esempio per la lettura da standard input (la tastiera):

    codice:
    InputStreamReader isr = null;
    BufferedReader br = null;
    try {
       // Collego l'InputStreamReader alla tastiera
       isr = new InputStreamReader( System.in );
    
       // Collego il BufferedReader all'InputStreamReader
       br = new BufferedReader( isr );
    
       String linea = null;
       boolean fermati = false;
    
       // Leggo finchè l'utente non scrive "fermati"
       while(!fermati && ((linea = br.readLine()) != null)) {
          // Quello che ho letto, lo scrivo a video
          System.out.println("Hai scritto: " + linea);
          fermati = "fermati".equals( linea );
       }
    } catch (Exception e) {
       e.printStackTrace();
    } finally {
       if (br != null) {
          try { br.close(); } catch (Exception e) { }
       } else {
          if (isr != null) {
             try { isr.close(); } catch (Exception e) { }
          }
       }
    }
    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
    Grazie
    Però la dovete smettere di fare gli acidi saccenti in questo forum ecchecavolo!
    Sarcasm?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da troppocrasta
    Grazie
    Però la dovete smettere di fare gli acidi saccenti in questo forum ecchecavolo!
    Sarcasm?
    io potrei dire "però la dovreste smettere di postare qui senza aver letto la documentazione!!"
    Sarcasmo? si, se vuoi
    RTFM Read That F*** Manual!!!

  5. #5
    Dov'è la documentazione?
    Io ho guardato le API della classe ma non ci ho capito molto, per quello ho voluto chiedere

  6. #6
    Ma non sai l'inglese oppure non sai leggere la documentazione?

    Perché la documentazione è chiarissima...
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,327
    Originariamente inviato da troppocrasta
    Grazie
    Però la dovete smettere di fare gli acidi saccenti in questo forum ecchecavolo!
    Sarcasm?
    Guarda... rileggendo quello che ho scritto potrebbe anche intendersi in modo acido e saccente, ma non era affatto mia intenzione.
    Ho solo puntualizzato su alcune cose che, trattandosi di programmazione ed essendo questo un forum tecnico, sono di fondamentale importanza.

    Quando si ha a che fare con la programmazione è necessario essere precisi. Primo perchè il PC è preciso di suo (non puoi "andare a spanne"), secondo perchè se non si è precisi si rischia di confondere gli utenti.

    Prendiamo il tuo messaggio:
    Qualcuno mi spiega come funziona questa classe per leggere le stringhe da input?
    Hai scritto "da input". Ma quale input? L'input ad un programma può arrivare da diverse fonti:

    1) Da tastiera (è la fonte principale, che io ho preso per l'esempio)
    2) Da un file
    3) Da un altro programma in esecuzione
    4) Da una socket
    5) Da una porta (USB, parallela, seriale, ecc)

    e sono solo 5 esempi. Il punto 3, ad esempio, può essere espanso in una miriade di sorgenti diverse.

    Qual'è la sintassi precisa?
    La sintassi per cosa? Per costruire un BufferedReader? Per leggere una riga? Per leggere TUTTE le righe (pensando ad un file)? Per leggere un solo carattere?

    Partendo dal fatto che per costruire un BufferedReader devi specificare, appunto, da quale sorgente intendi leggere, tutto il resto trova facilmente risposta nella documentazione: nella documentazione trovi tutti i costruttori che la classe mette a disposizione (quindi, risponde alla prima domanda), nonché tutti i metodi che la stessa mette a disposizione per lavorare con tale oggetto (e risponde a tutte le altre).

    Siccome non sei stato "sufficientemente preciso" (non è un offesa, eh... sto cercando di spiegarti cosa si intende per "precisione" nell'esporre i propri dubbi), io non potevo essere altrettanto preciso nella risposta.

    L'esempio che ti ho postato, comunque, ti è stato d'aiuto?

    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

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.