24 Ocak 2018 Çarşamba

InputStream Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.io.InputStream;
Soyut (abstract) bir sınıftır.

available metodu - bool
Şöyle yaparız.
if (is.available() > 0) {
  ...
}
nullInputStream metodu
Java 11 ile geliyor.

read metodu - byte []
İmzası şöyle
public int read(byte[] b)
         throws IOException
Reads some number of bytes from the input stream and stores them into the buffer array b.
The number of bytes actually read is returned as an integer.
This method blocks until input data is available, end of file is detected, or an
exception is thrown.
read metodu - int
Açıklaması şöyle.
If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.
Örnek
Şöyle yaparız.
InputStream is = ...
int r = is.read();
Örnek
Bu metod int döner ancak okunan şey aslında char'dır. Bit bit okumak için şöyle yaparız.
public char readBit() {
  char c = 0;

  if (bitsRead == 8)
    try {
      if (is.available() > 0) { // We have not reached the end of the
                                        // file
        buffer = (char) is.read();
        bitsRead = 0;
      } else
        return 0;
    } catch (IOException e) {
      System.out.println("Error reading from file ");
      System.exit(0); // Terminate the program
    }

  // return next bit from the buffer; bit is converted first to char
  if ((buffer & 128) == 0)
    c = '0';
  else
    c = '1';
  buffer = (char) (buffer << 1);
  ++bitsRead;

  return c;
}
readAllBytes metodu
Java 9 ile geliyor. 
Örnek
Şöyle yaparız
ByteArrayOutputStream baos = ...
FileInputStream fis = ...
baos.write(fis.readAllBytes());
Bunun yerine şöyle de yapılabilir
ByteArrayOutputStream baos = ...
FileInputStream fis = ...
fis.transferTo(baos)
readNBytes metodu
Java 11 ile geliyor.

transferTo metodu
Java 9 ile geliyor.

Hiç yorum yok:

Yorum Gönder