Klasa Java FileInputStream
Klasa FileInputStream w Javie służy do odczytu danych z pliku w postaci bajtów. Idealnie nadaje się do odczytu danych binarnych, takich jak obrazy lub pliki audio. Do odczytu plików tekstowych lepiej jest użyć Czytnik plików.
- Bezpośredni dostęp: Bezpośrednio odczytuje zawartość pliku z dysku bez buforowania
- Niezależny od platformy: Może działać na dowolnym systemie operacyjnym
Deklaracja
Klasa FileInputStream rozszerza klasę Strumień wejściowy class, co oznacza, że dziedziczy metody odczytu nieprzetworzonych danych bajtowych z plików.
klasa publiczna FileInputStream rozszerza strumień wejściowy
Przykład: Klasa FileInputStream do odczytu danych z pliku.
Java import java.io.* ; public class Geeks { public static void main ( String [] args ){ // Use try-with-resources to automatically close the // stream try ( FileInputStream fi = new FileInputStream ( 'file1.txt' )) { // Display file channel information System . out . println ( 'Channel: ' + fi . getChannel ()); // Display file descriptor System . out . println ( 'File Descriptor: ' + fi . getFD ()); // Show available bytes in the stream System . out . println ( 'Number of remaining bytes: ' + fi . available ()); // Skip first few bytes fi . skip ( 4 ); System . out . println ( 'File Contents:' ); // Read and print file content int ch ; while (( ch = fi . read ()) != - 1 ) { System . out . print (( char ) ch ); } } catch ( FileNotFoundException e ) { System . out . println ( 'File not found: Ensure 'file1.txt' exists in the working directory.' ); } catch ( IOException e ) { System . out . println ( 'An error occurred while reading the file: ' + e . getMessage ()); } } }
Wyjście:
Wyjście Konstruktorzy Klasa FileInputStream
1. FileInputStream (nazwa ciągu)
Tworzy strumień pliku wejściowego do odczytu z pliku o określonej nazwie.
FileInputStream fi = nowy FileInputStream('example.txt');
2. FileInputStream (plik pliku)
Tworzy strumień pliku wejściowego do odczytu z określonego obiektu File.
Plik f = nowy plik('przykład.txt');
FileInputStream fi = nowy FileInputStream(f);
3. FileInputStream(FileDescriptor fdobj)
Tworzy strumień pliku wejściowego do odczytania z określonego deskryptora pliku.
FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = nowy FileInputStream(fd);
Utwórz plik o nazwie file.txt w katalogu projektu z następującą zawartością:
Javato jest mój pierwszy kod
to jest mój drugi kod
import java.io.* ; public class Geeks { public static void main ( String [] args ) { // Use try-with-resources to automatically close the stream try ( FileInputStream fi = new FileInputStream ( 'file1.txt' )) { // Display file channel information System . out . println ( 'Channel: ' + fi . getChannel ()); // Display file descriptor System . out . println ( 'File Descriptor: ' + fi . getFD ()); // Illustrating available method System . out . println ( 'Number of remaining bytes: ' + fi . available ()); // Illustrating skip() method fi . skip ( 4 ); System . out . println ( 'File Contents:' ); // Reading characters from FileInputStream int ch ; while (( ch = fi . read ()) != - 1 ) { System . out . print (( char ) ch ); } } catch ( FileNotFoundException e ) { System . out . println ( 'File not found: Ensure 'file1.txt' exists in the working directory.' ); } catch ( IOException e ) { System . out . println ( 'An error occurred while reading the file: ' + e . getMessage ()); } } }
Wyjście:
Wyjście Metody Javy Klasa FileInputStream
| Metody | Wykonano czynność |
|---|---|
| dostępny() | Zwraca szacunkową liczbę pozostałych bajtów, które można odczytać (lub pominąć) z tego strumienia wejściowego. |
| zamknąć() | Zamyka ten strumień wejściowy pliku i zwalnia wszystkie zasoby systemowe powiązane ze strumieniem. |
| sfinalizować() | Zapewnia, że metoda zamknięcia tego strumienia wejściowego pliku zostanie wywołana, gdy nie będzie już do niego żadnych odniesień. |
| pobierzKanał() | Zwraca unikalny obiekt FileChannel powiązany z tym strumieniem wejściowym pliku. |
| pobierzFD() | Zwraca obiekt FileDescriptor, który reprezentuje połączenie z rzeczywistym plikiem w systemie plików używanym przez ten FileInputStream. |
| Czytać() | Odczytuje bajt danych z tego strumienia wejściowego |
| czytaj (bajt [] b) | Odczytuje maksymalnie b.length bajtów danych z tego strumienia wejściowego do tablicy bajtów. |
| read(bajt[] b int off int len) | Odczytuje maksymalnie długość bajtów danych z tego strumienia wejściowego do tablicy bajtów. |
| pominąć() | Pomija i odrzuca n bajtów danych ze strumienia wejściowego |