Java offre pochi oggetti di input e output di processo . Uno di questi proviene dalla classe " buffer " di oggetti , la BufferedWriter . Il BufferedWriter comprende un buffer di testo che gestisce l'output programmatore piuttosto che stampa direttamente al sistema . Come con le altre classi , il BufferedWriter viene fornito con un costruttore di default e con costruttori personalizzati . Questi costruttori consentono al programmatore di utilizzare una dimensione di buffer predefinita o forniscono una propria, a seconda dell'applicazione . BufferedWriter
La classe BufferedWriter estende la classe " Writer" . Questa classe offre ai programmatori un modo per gestire l'output del programma attraverso un flusso di output. Tuttavia, la classe Writer rende chiamate di sistema per visualizzare immediatamente i caratteri sullo schermo , che può causare rallentamento del sistema . Invece , il BufferedWriter contiene un buffer di testo per contenere testo , che può inviare tramite un'unica chiamata di sistema . Di conseguenza , tamponata uscita attraverso la classe BufferedWriter offre l'esecuzione del programma più efficiente rispetto alla semplice classe Writer .
BufferedWriter Defaults
La classe BufferedWriter viene fornito con due costruttori . Il costruttore predefinito consente al programmatore di creare un oggetto BufferedWriter che contiene un oggetto Writer. Questa istanza della classe BufferedWriter conterrà anche un buffer con una dimensione predefinita di 8.192 caratteri. Un costruttore speciale permette inoltre al programmatore di fornire una nuova dimensione con l'oggetto Writer .
Modifica BufferedWriter Dimensione predefinita
Il programmatore può creare l'oggetto tamponata con un nuovo formato fornendo la nuova dimensione al costruttore . Prima , il programmatore deve sempre fornire un oggetto scrittore , che consente di gestire l' output del programma . Quindi , il programmatore dichiara un oggetto BufferedWriter . Come parte della dichiarazione , il programmatore fornisce l'oggetto writer e una nuova dimensione del buffer di default :
Writer w = new FileWriter ( filename) ; //un file scrittore objectBufferedWriter br = new BufferedWriter ( w , 4000) ;
Utilizzando BufferedWriter alle inadempienze e purché le dimensioni del buffer
Utilizzando gli oggetti BufferedWriter implica la comprensione della dimensione del buffer . Normalmente, il BufferedWriter scriverà il suo testo tamponata , o "a filo " il buffer , quando si riempie . Tuttavia, il programmatore può anche programmare le operazioni di risciacquo automatico o manuale nel codice . Ad esempio, il codice seguente apre un file con 50 caratteri e lo scrive in un nuovo file . Il BufferedWriter default irrigare una volta durante la sua operazione di scrittura , mentre il BufferedWriter modificato lavare due volte :
Writer fw = new FileWriter ( " test2.txt " ) ; Reader fr = new FileReader ( " test.txt " ;) ;
BufferedWriter BR1 = BufferedWriter ( fw , 50) ; BufferedWriter BR2 = BufferedWriter ( fw , 25) ;
String s = fr.readline ( ) ;
br1.write ( s ) ; br2.write ( s ) ;