Šioje pamokoje pavyzdžio pagalba sužinosime apie „Java InputStream“ klasę ir jos metodus.
InputStream
Iš klasės java.io
paketo yra abstraktus superklasė, kad reiškia įvesties srautą baitų.
Kadangi InputStream
tai yra abstrakti klasė, ji savaime nėra naudinga. Tačiau jo poklasius galima naudoti duomenims nuskaityti.
„InputStream“ poklasiai
Norėdami naudoti „“ funkcionalumą InputStream
, galime naudoti jo poklasius. Kai kurie iš jų yra:
- „FileInputStream“
- „ByteArrayInputStream“
- ObjectInputStream
Apie visus šiuos poklasius sužinosime kitoje pamokoje.
Sukurkite „InputStream“
Norėdami sukurti „InputStream“, pirmiausia turime importuoti java.io.InputStream
paketą. Kai importuosime paketą, galime sukurti įvesties srautą.
// Creates an InputStream InputStream object1 = new FileInputStream();
Čia mes sukūrėme įvesties srautą naudodami FileInputStream
. Taip yra todėl, kad InputStream
yra abstrakti klasė. Taigi mes negalime sukurti objekto InputStream
.
Pastaba : mes taip pat galime sukurti įvesties srautą iš kitų InputStream
.
„InputStream“ metodai
InputStream
Klasė suteikia skirtingus metodus, kad būtų įgyvendintos jos poklasius. Štai keletas dažniausiai naudojamų metodų:
read()
- nuskaito vieną baitą duomenų iš įvesties srautoread(byte() array)
- skaito baitus iš srauto ir saugo nurodytame masyveavailable()
- grąžina įvesties sraute galimų baitų skaičiųmark()
- žymi įvesties srauto vietą, iki kurios duomenys buvo nuskaitytireset()
- grąžina valdiklį į tašką sraute, kuriame buvo nustatytas ženklasmarkSupported()
- patikrina, ar sraute palaikomasmark()
irreset()
metodasskips()
- praleidžia ir atmeta nurodytą baitų skaičių iš įvesties srautoclose()
- uždaro įvesties srautą
Pavyzdys: „InputStream“ naudojant „FileInputStream“
Štai kaip mes galime įgyvendinti InputStream
naudodami FileInputStream
klasę.
Tarkime, kad turime failą pavadinimu input.txt su tokiu turiniu.
This is a line of text inside the file.
Pabandykime perskaityti šį failą naudodami FileInputStream
(poklasį InputStream
).
import java.io.FileInputStream; import java.io.InputStream; public class Main ( public static void main(String args()) ( byte() array = new byte(100); try ( InputStream input = new FileInputStream("input.txt"); System.out.println("Available bytes in the file: " + input.available()); // Read byte from the input stream input.read(array); System.out.println("Data read from the file: "); // Convert byte array into string String data = new String(array); System.out.println(data); // Close the input stream input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Rezultatas
Available bytes in the file: 35 Data read from the file: This is a line of text inside the file
Ankstesniame pavyzdyje mes sukūrėme įvesties srautą naudodami FileInputStream
klasę. Įvesties srautas susietas su failu input.txt .
InputStream input = new FileInputStream("input.txt");
Norėdami perskaityti duomenis iš failo input.txt , mes įdiegėme šiuos du metodus.
input.read(array); // to read data from the input stream input.close(); // to close the input stream
Norėdami sužinoti daugiau, apsilankykite „Java InputStream“ (oficiali „Java“ dokumentacija).