KompüterProqramlaşdırma

Java: InputStream. input axını

Java, bir çox müasir proqramlaşdırma dilləri kimi, data giriş axını həyata keçirilməsini dəstəkləyir. Java InputStream byte axınları üçün əsas sinif edir. Bu sinif proqramı zamanı bunun bir nümunəsini yarada bilməz ki, mücərrəd deyil. Lakin, io paketi varis və InputStream funksionalığına genişləndirmək dərsləri bir sıra var. Sizin kodu Bu sinif istifadə etmək üçün, bu java.io.InputStream paketi idxal olunmalıdır. Sonra, biz bir InputStream sinif təmin əsas funksionallığı, və onu həyata keçirmək əsas sinifləri hesab edir.

InputStream sinif üsulları

InputStream sinif üsulları ətraflı öyrənilməsi davam əvvəl, bu closeable və AutoCloseable interfeys həyata keçirir ki, qeyd etmək lazımdır. Interface closeable bu hərəkəti ilə iş başa mütləq bağlı olmalıdır ki, bizə deyir. Bu üsul yaxın istifadə edilir (). bir səhv halda InputStream sinif üsulları ən-ci ildən istisna növü IOException) cəhd blok və bir üsul yaxın (aparılması, bu bədən cəhd əməliyyat nəticəsindən asılı olaraq dövrəyə girdi ki, nəhayət vahid etmək üçün tələb olunan bütün əməliyyatlar yaradır.

avtomatik olaraq yaxın () metodu iş imkan verir və nəhayət qarşısını kodunuzu əlavə et olmadığı AutoCloseable interface əhəmiyyətli dərəcədə kodu istismar miqdarını azaldır. Java yeddinci və ya sonrakı bir versiyası istifadə edirsinizsə, bir InputStream bütün əməliyyatlar axını üzərində edir yaxın resursları ilə qondarma cəhd yerləşdirilə bilər.

InputStream sinif əsas üsulları düşünün:

  • Mövcud int () - bayt oxumaq sıra qaytarır;
  • ; Resurs cari byte edir və tam nümayəndəliyi qaytarır - int () oxumaq bütün bytes oxumaq, -1 qaytarılır;
  • ; Bytes mövcud bir byte array növü şəklində bufer bildirib oxuyur (bayt sayı ölçüsü müəyyən bərabər bufer oxumaq və bayt sayı nail oxumaq qaytarır və bütün mövcud bytes oxumaq, -1 qaytarır) - int (byte [] bufer) oxumaq
  • ; Əvvəlki metodu overload, eyni, lakin müəyyən "ofset" mövqeyi və "bayt sayı" müəyyən qədər oxuyur - int (byte [] bufer, ofset int, bayt int sayı) oxumaq
  • uzun skip (uzun byte count) - bayt skips sayı və buraxılmış faktiki sayı qaytarır.

InputStream müxtəlif mənbələrdən və məlumatların növləri ilə işləmək üçün nəzərdə tutulmuşdur bir neçə dərsləri həyata keçirilir. Aşağıda miras ağac göstərir.

faylları oxumaq

Byte stream sinif FileInputStream həyata keçirilir faylları data oxumaq üçün. bir arqument kimi konstruktor fayl adı keçən sinif bir misal yaratmaq üçün kifayət qədər bytes, oxumaq üçün bir fayl açmaq üçün. fayl mövcud deyil adı transfer, bu tipli FileNotFoundException bir istisna atmaq edəcək.

uğurlu açıq bir fayl halda, onlarla iş varisi FileInputStream InputStream kimi, yuxarıda təsvir üsulları istifadə edərək həyata keçirilir.

ibtidai məlumat növləri Reading

Yuxarıdakı misalda rəmzləri kimi təfsir edilə bilər byte dəyərlərə iş, təsvir edir. Amma biz fraksiya bir tam və ya Boolean dəyər oxumaq üçün nə lazımdır? Java InputStream bunu dolayısı sinif DataInputStream genişləndirir. Bu sinif konstruktor arqument kimi yaradılması bu qəbul edilir InputStream üçün banderol edir. mövzu Bu cür ikili formada data deyilir.

DataInputStream də DataInput interfeysi və ibtidai məlumat növləri oxumaq üçün öz üsulları həyata keçirir. Aşağıda bu metodların siyahısı.

Metod adları özləri üçün danışmaq - onların hər biri müəyyən bir veri növü oxumaq üçün nəzərdə tutulmuşdur.

Buffered daxil stream

Buffered stream data oxu Java BufferedInputStream sinif həyata keçirilir. InputStream Bu sinif ilə bükülür. Bu sinif eyni zamanda bir neçə bayt lakin bir oxumaq üçün imkan verir, bufer axın tamamlayır. Bu əhəmiyyətli əməliyyat performansını yaxşılaşdırılması üçün mümkün edir. BufferedInputStream nəslindən InputStream dolayı və beləliklə yuxarıda göstərilən bütün üsulları vərəsəlik.

Bu sinif iki inşaatçılar var:

  • BufferedInputStream (InputStream input stream);
  • BufferedInputStream (InputStream giriş stream, int bufer ölçüsü)

dizaynerlər Signature ilk default bufer ölçüsü müəyyən edir ki, başa düşülə bilər, və ikinci əl müəyyən etmək mümkündür.

nəticə

Biz InputStream əsas həyata baxdı. Siz String () Java InputStream bir simli qəbul bayt çevirmək lazımdır Əgər Apache Commons kitabxana xüsusi məsələn alətləri, IOUtils istifadə etmək olacaq, belə ki, təəssüf ki, yüklənmir deyil.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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