Arvutiteaduse instituut
  1. Kursused
  2. 2017/18 kevad
  3. Objektorienteeritud programmeerimine (Narva Kolledž) (P2NC.01.083)
EN
Logi sisse

Objektorienteeritud programmeerimine (Narva Kolledž) 2017/18 kevad

  • Home
  • Materials
  • Java Glossary
  • Source Example
  • Cheat sheet (S1-S6)
  • Grading
  • Links
Session 10

Stream buffering

Reading and writing the data is a relatively slow process. Sometimes it is not efficient to read data in small portions. Java has some more classes for reading/writing the data in large portions - BufferedInputStream and BufferedOutputStream:

InputStream sisse = new BufferedInputStream(new FileInputStream("myPicture.jpg"));
OutputStream välja = new BufferedOutputStream(new FileOutputStream("mySecondPicture.jpg"));

The buffer of BufferedInputStream has a 8KiB-byte array by default, which holds the data from the stream. This helps increase the speed of reading/writing and data processing.

Apart from the buffered byte input stream, Java has a class for reading characters using a buffer - BufferedReader. This class also looks for the lines in the buffered text:

InputStream myBytes = new FileInputStream("myInput.txt");
InputStreamReader myText = new InputStreamReader(myBytes, "UTF-8");
BufferedReader myBuffer = new BufferedReader(myText);

String myLine = myBuffer.readLine();
while (myLine != null) {
  System.out.println("Line: " + myLine);
  myLine = myBuffer.readLine(); // reads the next line; if there is no line, null is returned
}
myBuffer.close();

The first three lines can be shorted as follows:

BufferedReader myBufferbr = new BufferedReader(new InputStreamReader(new FileInputStream("myInput.txt"), "UTF-8"));
Session 10
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused