Java tilbyr noen gjenstander til prosessen inngang og utgang. En av disse kommer fra " bufret " klasse av gjenstander , det bufferedwriter . Den bufferedwriter omfatter en tekst -buffer som håndterer programmerer utgang i stedet for trykking direkte til systemet . Som med andre klasser , kommer bufferedwriter med en standard konstruktør og med egendefinerte konstruktører . Disse konstruktører tillate programmereren å bruke en standard buffer størrelse eller levere en av sine egne , avhengig av programmet . Bufferedwriter
bufferedwriter klassen utvider " Writer "-klassen . Denne klassen tilbyr programmerere en måte å håndtere programmet utgang gjennom en bestemt output stream . Men gjør Writer klassen systemkall til umiddelbart å vise tegn til skjermen, noe som kan føre til system nedgang . I stedet inneholder den en bufferedwriter tekstbuffer å holde tekst , som den kan sende over en enkelt system samtale. Følgelig bufret ut gjennom bufferedwriter klassen gir mer effektiv kjøringen av programmet enn det enkle Writer klassen .
Bufferedwriter Standarder
bufferedwriter klassen kommer med to konstruktører . Standard konstruktør gjør at programmerer å lage en bufferedwriter objekt som inneholder en Writer objekt. Denne forekomsten av bufferedwriter klassen vil også inneholde en buffer med en standard størrelse på 8192 tegn. En spesiell konstruktør gjør også at programmerer å levere en ny størrelse sammen med Writer objektet .
Endre bufferedwriter Standard Size
Programmereren kan opprette bufret objekt med en ny størrelse ved å levere den nye størrelsen til konstruktøren . Først må programmerer alltid gi en brenner objekt , som vil håndtere utgangssignalet fra programmets . Deretter erklærer programmerer en bufferedwriter objekt. Som en del av erklæringen , leverer programmereren Writer objekt og en ny standard buffer størrelse:
Writer w = ny FileWriter (filename ), //en fil forfatter objectBufferedWriter br = new bufferedwriter (w , 4000 );
hjelp bufferedwriter med mislighold og Forutsatt bufferstørrelser
Bruke bufferedwriter gjenstander innebærer å forstå buffer størrelse. Normalt vil bufferedwriter skrive sin bufret tekst , eller " flush " buffer , når den fylles . Imidlertid kan programmereren også programmere manuelle rødme operasjoner inn i koden . For eksempel , åpnes følgende kode en fil med 50 tegn og skriver det i en ny fil . Standard bufferedwriter vil skylle en gang i løpet av sin skrive operasjon , mens den modifiserte bufferedwriter vil skylle to ganger : en
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 ) ;