Operacje i/O: czytanie I zapisywanie aby pobrać dane, program otwiera strumień



Pobieranie 255,89 Kb.
Strona1/2
Data20.11.2017
Rozmiar255,89 Kb.
  1   2

OPERACJE I/O: CZYTANIE I ZAPISYWANIE
Aby pobrać dane, program otwiera strumień (stream) do źródła informacji (pliku, pamięci, soketu) i sekwencyjnie czyta te informacje.

W ten sam sposób odbywa się wysyłanie informacji do zewnętrznych lokalizacji – poprzez otwarcie strumienia i sekwencyjnego wprowadzania danych.



Bez względu na miejsce zapisu lub odczytu danych oraz na typ tych danych algorytm sekwencyjnego odczytu i zapisu jest taki sam:






STRUMIENIE ZNAKOWE
Reader i Writer to abstrakcyjne superklasy dla strumieni znakowych java.io. Reader zapewnia API i częściową implementację dla readers – strumieni zapisujących 16-bitowe znaki. Podklasy klas Reader i Writer implementują strumienie specjalne i dzielą się na dwie kategorie:

- te które czytają lub zapisują do danych typu sinks (pokazane na szaro)



- te które przeprowadzają niektóre rodzaje przetwarzania danych (pokazane na biało)




STRUMIENIE BAJTÓW
Aby czytać i zapisywać bajty 8-bitowe, programy powinny korzystać ze strumieni bajtów, potomków klas InputStream i OutputStream. InputStream i OutputStream dostarczają interfejs API.




Reader I InputStream definiują podobne API ale dla innych typów danych. Na przykład Reader zawiera metody do czytania znaków i tablic znaków:


int read()

int read(char cbuf[])

int read(char cbuf[], int offset, int length)
InputStream definiuje te same metody ale do czytania bajtów i tablic bajtów:
int read()

int read(byte cbuf[])

int read(byte cbuf[], int offset, int length)
Ponadto zarówno Reader jak i InputStream zapewniają metody do oznaczania położenia w strumieniu, zmiany wejść i repetowania aktualnego położenia.

Writer i OutputStream są bardzo podobne. Writer definiuje metody zapisu znaków i tablic znaków:


int write(int c)

int write(char cbuf[])

int write(char cbuf[], int offset, int length)
OutputStream definiuje te same metody w odniesieniu do bajtów:
int write(int c)

int write(byte cbuf[])

int write(byte cbuf[], int offset, int length)

Wszystkie streams--readers, writers, input streams, and output streams są automatycznie otwierane przy ich tworzeniu.


POSŁUGIWANIE SIĘ STRUMIENIAMI



  1   2


©operacji.org 2019
wyślij wiadomość

    Strona główna