Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java FileInputStream: Praktische gids met codevoorbeelden

Java FileInputStream-klasse

Deze tutorial begeleidt je door Java's FileInputStream, met de kernmethoden, praktisch gebruik en real-world voorbeelden.

Inleiding

De FileInputStream-klasse, onderdeel van het java.io-pakket, stelt je in staat om rauwe bytedata uit bestanden te lezen. Het breidt de abstracte InputStream-klasse uit en biedt een concrete implementatie voor bestands-I/O.

Een FileInputStream aanmaken

Importeer de klasse en instantieer het met een bestandspad of een File-object.

1. Met een bestandspad

FileInputStream input = new FileInputStream("pad/naar/bestand.txt");

Dit opent een stream gekoppeld aan het bestand op het gespecificeerde pad.

2. Met een File-object

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

Kernmethoden van FileInputStream

De klasse implementeert alle abstracte methoden van InputStream en voegt er enkele eigen toe. Hieronder de meest gebruikte:

read()

  • int read() – leest een enkele byte en retourneert deze als int (of -1 bij EOF)
  • int read(byte[] b) – vult de meegeleverde array met bytes
  • int read(byte[] b, int off, int len) – leest maximaal len bytes in b beginnend bij offset off

Voorbeeld: een tekstbestand byte-voor-byte lezen.

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 het bestand:");
            int byteGelezen;
            while ((byteGelezen = input.read()) != -1) {
                System.out.print((char) byteGelezen);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Output

Data in het bestand: Dit is een regel tekst in het bestand.

available()

Retourneert het aantal bytes dat gelezen kan worden zonder te blokkeren.

try (FileInputStream input = new FileInputStream("input.txt")) {
    System.out.println("Beschikbaar aan start: " + input.available());
    input.read();
    input.read();
    input.read();
    System.out.println("Beschikbaar na 3 reads: " + input.available());
}

Output

Beschikbaar aan start: 39
Beschikbaar na 3 reads: 36

skip()

Verplaatst de streampositie met een gespecificeerd aantal bytes, deze worden overgeslagen.

try (FileInputStream input = new FileInputStream("input.txt")) {
    input.skip(5); // sla "Dit " over
    int byteGelezen;
    while ((byteGelezen = input.read()) != -1) {
        System.out.print((char) byteGelezen);
    }
}

Output

is een regel tekst in het bestand.

close()

Sluit de stream en geeft systeembronnen vrij. Een try-with-resources-blok (zoals hierboven getoond) zorgt ervoor dat close() automatisch wordt aangeroepen.

Extra FileInputStream-methoden

MethodeBeschrijving
finalize()Zorgt ervoor dat close() wordt aangeroepen vóór garbage collection
getChannel()Retourneert de FileChannel geassocieerd met de stream
getFD()Geeft de onderliggende bestandsdescriptor
mark(int readlimit)Markeert de huidige positie voor later resetten
reset()Zet de stream terug naar de laatste gemarkeerde positie

Voor dieper inzicht, raadpleeg de officiële Java-documentatie: Java FileInputStream (officiële Java-documentatie).

Java

  1. Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
  2. Java instanceof operator: een uitgebreide gids
  3. Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
  4. Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
  5. Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
  6. Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
  7. Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
  8. Java BufferedReader: Efficiënte karakter-stream-afhandeling
  9. Java Scanner: Uitgebreide gids met praktische voorbeelden
  10. Java Generics: Herbruikbare, type-veilige code bouwen
  11. Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen