Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Kelas Java FileInputStream

Kelas FileInputStream Java

Dalam tutorial ini, kita akan belajar tentang Java FileInputStream dan metodenya dengan bantuan contoh.

FileInputStream kelas java.io package dapat digunakan untuk membaca data (dalam byte) dari file.

Ini memperluas InputStream kelas abstrak.

Sebelum kita mempelajari tentang FileInputStream , pastikan untuk mengetahui tentang File Java.


Buat FileInputStream

Untuk membuat aliran input file, kita harus mengimpor java.io.FileInputStream paket dulu. Setelah kita mengimpor paket, berikut adalah cara membuat aliran input file di Java.

1. Menggunakan jalur ke file

FileInputStream input = new FileInputStream(stringPath);

Di sini, kami telah membuat aliran input yang akan ditautkan ke file yang ditentukan oleh path .

2. Menggunakan objek file

FileInputStream input = new FileInputStream(File fileObject);

Di sini, kami telah membuat aliran input yang akan ditautkan ke file yang ditentukan oleh fileObject .


Metode FileInputStream

FileInputStream class menyediakan implementasi untuk berbagai metode yang ada di InputStream kelas.

read() Metode

Misalkan kita memiliki file bernama input.txt dengan konten berikut.

This is a line of text inside the file.

Mari kita coba membaca file ini menggunakan FileInputStream .

import java.io.FileInputStream;

public class Main {

  public static void main(String args[]) {

     try {
        FileInputStream input = new FileInputStream("input.txt");

        System.out.println("Data in the file: ");

        // Reads the first byte
        int i = input.read();

       while(i != -1) {
           System.out.print((char)i);

           // Reads next byte from the file
           i = input.read();
        }
        input.close();
     }

     catch(Exception e) {
        e.getStackTrace();
     }
  }
}

Keluaran

Data in the file:
This is a line of text inside the file.

Pada contoh di atas, kami telah membuat aliran input file bernama input . Aliran input ditautkan dengan input.txt berkas.

FileInputStream input = new FileInputStream("input.txt");

Untuk membaca data dari file, kami telah menggunakan read() metode di dalam loop while.


Metode yang tersedia()

Untuk mendapatkan jumlah byte yang tersedia, kita dapat menggunakan available() metode. Misalnya,

import java.io.FileInputStream;

public class Main {

   public static void main(String args[]) {

      try {
         // Suppose, the input.txt file contains the following text
         // This is a line of text inside the file.
         FileInputStream input = new FileInputStream("input.txt");

         // Returns the number of available bytes
         System.out.println("Available bytes at the beginning: " + input.available());

         // Reads 3 bytes from the file
         input.read();
         input.read();
         input.read();

         // Returns the number of available bytes
         System.out.println("Available bytes at the end: " + input.available());

         input.close();
      }

      catch (Exception e) {
         e.getStackTrace();
      }
   }
}

Keluaran

Available bytes at the beginning: 39
Available bytes at the end: 36

Pada contoh di atas,

  1. Pertama kita menggunakan available() metode untuk memeriksa jumlah byte yang tersedia dalam aliran input file.
  2. Kami kemudian menggunakan read() metode 3 kali untuk membaca 3 byte dari aliran input file.
  3. Sekarang, setelah membaca byte, kami kembali memeriksa byte yang tersedia. Kali ini byte yang tersedia berkurang 3.

lewati() Metode

Untuk membuang dan melewati jumlah byte yang ditentukan, kita dapat menggunakan skip() metode. Misalnya,

import java.io.FileInputStream;

public class Main {

   public static void main(String args[]) {

      try {
         // Suppose, the input.txt file contains the following text
         // This is a line of text inside the file.
         FileInputStream input = new FileInputStream("input.txt");

         // Skips the 5 bytes
         input.skip(5);
         System.out.println("Input stream after skipping 5 bytes:");

         // Reads the first byte
         int i = input.read();
         while (i != -1) {
            System.out.print((char) i);

            // Reads next byte from the file
            i = input.read();
         }

         // close() method
         input.close();
      }
      catch (Exception e) {
         e.getStackTrace();
      }
   }
}

Keluaran

Input Stream after skipping 5 bytes:
is a line of text inside the file.

Dalam contoh di atas, kami telah menggunakan skip() metode untuk melewatkan 5 byte data dari aliran input file. Oleh karena itu, byte yang mewakili teks "Ini " tidak dibaca dari aliran input.


close() Metode

Untuk menutup aliran input file, kita dapat menggunakan close() metode. Setelah close() dipanggil, kita tidak dapat menggunakan aliran input untuk membaca data.

Dalam semua contoh di atas, kami telah menggunakan close() metode untuk menutup aliran input file.


Metode FileInputStream Lainnya

Metode Deskripsi
finalize() memastikan bahwa close() metode ini disebut
getChannel() mengembalikan objek FileChannel terkait dengan aliran masukan
getFD() mengembalikan deskriptor file yang terkait dengan aliran input
mark() menandai posisi di aliran input hingga data yang telah dibaca
reset() mengembalikan kontrol ke titik di aliran input tempat tanda ditetapkan

Untuk mempelajari lebih lanjut, kunjungi Java FileInputStream (dokumentasi resmi Java).


java

  1. Kata kunci terakhir Java
  2. Instance Java dari Operator
  3. Kelas Statis Bersarang Java
  4. Kelas Anonim Java
  5. Kelas Tunggal Jawa
  6. Refleksi Jawa
  7. Kelas Java ObjectOutputStream
  8. Kelas Java BufferedReader
  9. Kelas Pemindai Java
  10. Java Generik