ComputerenProgramméiere

Java: InputStream. Input Baachen

Java, wéi vill modern programméiere Sproochen, ënnerstëtzt d'Ëmsetzung vun Daten Input Baachen. An Java InputStream ass d'Basis Klass fir BYTE Baachen. Dëse Cours ass mythologesch, datt am Laf vun de Programm ass, kann mir en Beispill vun et net schafen. Allerdéngs huet Io Pak engem Set vu Klassen datt d'Funktionalitéit vun InputStream ierwen an verlängeren. Zu dëser Klass an Ärer Code benotzen, et muss aus java.io.InputStream Pak importéiert ginn. Nächst, betruecht mir d'Basis Funktionalitéit datt eng InputStream Klass gëtt, an der Haaptrei Klassen dat ëmsetzen.

InputStream Klass Methoden

Ier Dir fir eng detailléiert Etude vun der InputStream Klass Methoden, soll et ugeschwat ginn, datt et Closeable an AutoCloseable Schnëttplazen setzen. Interface Closeable seet eis, datt mat de Flux vun et an der Réalisatioun vun der Aarbecht mussen onbedéngt zougemaach ginn. Dat ass gemaach eng Method no benotzt (). Well déi Methode vun InputStream Klass am Fall vun engem Fehler eng Ausnam vun Typ IOException generéiert, all néideg Operatiounen vun der Spär probéieren ze üben, an enker () Method Spär endlech ze maachen, datt et onofhängeg vum Resultat vun der Aarbecht an de Kierper probéieren geschafft.

AutoCloseable Interface verklengert vill d'Quantitéit vum Code Ënnerhalt, well se schaffen automatesch Method no () erlaabt an do sëtzen net op Är Code endlech blockéieren. Wann Dir de siwenten oder spéider Versioun vun Java benotzen, kann en InputStream mat Ressourcen am sougenannte probéieren gesat ginn déi all d'Operatiounen der Flow no iwwerhëlt.

Betruecht der Basis Methode vun InputStream Klass:

  • INT sinn () - nees eng weider Zuel vu Bytes;
  • INT liesen () - déi aktuell BYTE vun der Ressource hëlt a preparéieren d'ganz Representatioun; wann all Bytes liesen, -1 ass hannescht;
  • INT liesen (BYTE [] Prellbock) - liest der Bytes sinn an sot Prellbock an der Form vun engem Typ BYTE vill (Zuel vu Bytes gläichberechtegt liesen Prellbock un der Gréisst uginn a preparéieren d'Zuel vu Bytes liesen gelongen a wann all sinn Bytes liesen, ze preparéieren -1);
  • INT liesen (BYTE [] Prellbock, INT amortiséiert, INT Zuel vu Bytes) - deene vun der viregter Method, heescht déi selwecht, mä mat engem uginn "amortiséiert" Positioun a liest sou vill wéi an der "Zuel vu Bytes" ageriicht;
  • laang Fräilous (laang BYTE zielen) - d'Zuel vun Bytes préift a preparéieren déi tatsächlech Zuel vun Goalkeeper huet.

InputStream ass e puer Klassen entworf ze schaffen mat verschiddene Quellen an Zorte vun Donnéeën ëmgesat. Ënnendrënner weist d'Ierfschaft Bam.

liesen Fichieren

BYTE Baach Donnéeë vu Fichieren ze liesen ass Klass FileInputStream ëmgesat. Opzemaachen eng Datei fir liesen Bytes, genuch en Beispill vun der Klass ze schafen, fir seng constructor als Argument de Fichier Numm laanschtgoungen. Wann de Fichier op de Numm existéieren net iwwerdroe gëtt, gëtt et eng Ausnam vum Typ FileNotFoundException geheien.

Am Fall vun engem Erfolleg oppen engem Fichier, Aarbecht mat hinnen ass de Methode uewen beschriwwen mat duerchgefouert, esou ass de Nofolger FileInputStream InputStream.

Liesen Ongewéinlech Daten Zorte

Am virun Beispill beschreift d'Aarbecht mat BYTE Wäerter, déi als Zeechen interpretéiert ginn. Mee wat wann mir brauchen eng ganz, fractional oder engem Boolschen Wäert ze liesen? Maachen dat an Java InputStream expandéieren indirekt der Klass DataInputStream. Dëst Klass ass e wrapper fir InputStream, déi bis et um Kreatioun als constructor Argument batter ass. Dës Zort vun Ufang liest d'Donnéeën vun Duebelstären Form.

DataInputStream setzen och d'DataInput Interface an hir Methoden fir Ongewéinlech Daten Zorte liesen. Drënner ass eng Lëscht vun dëse Methoden.

Method Nimm schwätzen fir sech - all vun hinnen ass entworf engem bestëmmte Daten Typ ze liesen.

Gefiermt Input Baach

Gefiermt Baach Daten liesen ass an Java BufferedInputStream Klass realiséiert. InputStream ass vun dëser Klass gewéckelt. Dëst Klass ergänzt de Prellbock Baach, wou Dir an der selwechter Zäit net een awer e puer Bytes ze liesen. Dëst mécht et méiglech d'Leeschtungsfähegkeet vun der Operatioun ze vill verbesseren. BufferedInputStream Descendant InputStream ass eng indirekt an domat ierft all uewen ernimmt Methoden.

Dëst Klass huet zwee constructors:

  • BufferedInputStream (InputStream Input Baach);
  • BufferedInputStream (InputStream Input Baach, INT Prellbock Gréisst)

Ënnerschrëft vun den Auteuren ka verstane ginn, dass déi éischt d'Default Prellbock Gréisst ausgedréckt, an an der zweeter ass et méiglech dat manuell ze setzen.

Konklusioun

Mir gekuckt der Basis Realisatioun vun InputStream. Wann s de scho Bytes un enger Kette vun Java InputStream zu Zeecheketten () geflunn brauchen, leider ass, net gelueden, sou ass et speziell Instrumenter benotzt hunn, zB IOUtils aus Apache- Commons Bibliothéik.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 lb.atomiyme.com. Theme powered by WordPress.