Òdinatè, Pwogram
Java: InputStream. D 'sous dlo
Java, tankou anpil lang programmation modèn, sipòte aplikasyon an nan sous dlo D 'done. Nan Java InputStream se klas la baz pou sous dlo multiple. Klas sa a se abstrè, se sa ki, nan kou a nan pwogram nan nou pa ka kreye yon egzanp nan li. Sepandan, IO pake gen yon seri kou ki eritye ak pwolonje fonksyonalite a nan InputStream. Pou itilize klas sa a nan kòd ou a, li dwe enpòte soti nan java.io.InputStream pake. Apre sa, nou konsidere fonctionnalités a debaz ki bay yon klas InputStream, ak klas yo prensipal ki aplike li.
InputStream metòd klas
Anvan pwosedi nan yon etid an detay de metòd yo klas InputStream, li ta dwe mansyone ke li aplike Closeable ak AutoCloseable interfaces. Entèfas Closeable di nou ke nan fini an nan travay la ak koule nan li dwe nesesèman dwe fèmen. Sa a se fè lè l sèvi avèk yon fèmen metòd (). Piske pifò nan metòd klas InputStream nan ka ta gen yon erè jenere yon eksepsyon kalite IOException, tout operasyon oblije fè yon blòk eseye ak yon fèmen metòd () finalman fè yon inite konsa ke li se trebiche depann sou rezilta a nan operasyon eseye kò.
AutoCloseable koòdone siyifikativman diminye kantite lajan an nan antretyen kòd, depi li pèmèt fèmen () metòd travay otomatikman epi yo pa ajoute nan kòd ou a finalman bloke. Si w ap itilize yon setyèm oswa yon vèsyon pita nan Java, InputStream ka mete nan sa yo rele eseye ak resous kote tout operasyon yo yo fèmen koule nan pran plis pase.
Konsidere metòd debaz yo nan InputStream klas:
- int disponib () - retounen yon nimewo li nan bytes;
- int li () - pran multiple aktyèl la nan resous la epi retounen reprezantasyon nan nonb antye relatif; si tout bytes yo li, -1 se retounen;
- int li (multiple [] tanpon) - ♦ Li bytes yo disponib nan di tanpon nan fòm lan nan yon kalite multiple etalaj (kantite bytes lecture pezib egal a gwosè a espesifye epi retounen ki kantite bytes lecture plas epi si tout bytes disponib li, retounen -1);
- int li (multiple [] tanpon, int konpanse, nimewo Int nan bytes) - mete twòp bwa metòd la anvan yo fè menm bagay la, men ki gen espesifye nan "konpanse nan" pozisyon ak li kòm anpil jan yo bay nan "nimewo a nan bytes";
- lontan sote (long multiple konte) - an kantite nan bytes sot epi retounen aktyèl la kantite rate.
InputStream se aplike klas plizyè fèt yo travay avèk sous diferan ak kalite done. Anba a montre pye bwa a pòsyon tè.
lekti dosye
Okte kouran li done ki sòti nan dosye se aplike klas FileInputStream. Pou ou kapab louvri yon dosye pou lekti bytes, ase yo kreye yon egzanp nan klas la, pase nan konstrukteur li yo non an dosye kòm yon agiman. Si nan dosye se transfere nan nan non pa fè sa egziste, li pral jete yon eksepsyon nan kalite FileNotFoundException.
Nan ka ta gen yon siksè louvri yon dosye, travay ak yo se te pote soti lè l sèvi avèk metòd ki dekri anwo a, kòm se siksesè a FileInputStream InputStream.
Lekti kalite done primitif
Nan ki pi wo a egzanp dekri nan travay ak multiple valè, ki kapab entèprete kòm senbòl. Men, sa ki si nou bezwen li yon nonb antye relatif, fraksyon oswa se yon valè Boolean? Pou fè sa nan Java InputStream endirèkteman ogmante DataInputStream nan klas la. Klas sa a se yon pakè pou InputStream, ki se pase bay li nan kreyasyon kòm yon agiman konstrukteur. Sa a jan de fil li done ki nan fòm binè.
DataInputStream tou aplike koòdone nan DataInput ak metòd pou lekti kalite done primitif. Anba la a se yon lis nan metòd sa yo.
Metòd non pale pou tèt yo - chak nan yo se fèt yo lecture yon sèten done kalite.
Tampon kouran opinyon
se tampon kouran done lekti reyalize klas BufferedInputStream nan Java. InputStream se vlope pa klas sa a. Klas sa a complet kouran an tanpon, ki pèmèt ou li nan menm tan an pa gen yon sèl men plizyè bytes. Sa fè li posib yo siyifikativman amelyore pèfòmans la nan operasyon an. BufferedInputStream pitit InputStream se yon endirèk e konsa eritye tout metòd yo mansyone pi wo a.
Klas sa a gen de konstrukteur:
- BufferedInputStream (InputStream opinyon kouran);
- BufferedInputStream (InputStream opinyon kouran, int tanpon gwosè)
ka Siyati konsèpteur yo dwe konprann ke premye a kouche gwosè a tanpon default, ak nan dezyèm lan li se posib yo mete l 'manyèlman.
konklizyon
Nou revize realizasyon an debaz yo nan InputStream. Si ou bezwen konvèti a te resevwa bytes nan yon fisèl nan Java InputStream nan fisèl (), malerezman, se pa twò chaje, se konsa li pral gen yo sèvi ak espesyal zouti, egzanp IOUtils soti nan Apache Commons bibliyotèk.
Similar articles
Trending Now