A Java FileInputStream osztálya a fájlból bájtok formájában történő adatok olvasására szolgál. Ideális bináris adatok, például képek vagy hangfájlok olvasásához. Szöveges fájlok olvasásához jobb használni FileReader.
- Közvetlen hozzáférés: Közvetlenül olvassa be a fájl tartalmát a lemezről pufferelés nélkül
- Platformfüggetlen: Bármilyen operációs rendszeren működik
Nyilatkozat
A FileInputStream osztály kiterjeszti a InputStream osztály, ami azt jelenti, hogy metódusokat örököl a nyers bájtadatok fájlok olvasásához.
public class FileInputStream kiterjeszti az InputStream-et
Példa: FileInputStream osztály adatok olvasásához fájlból.
sql válassza ki mintJava
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()); } } }
Kimenet:
java absztrakt osztály
KimenetA kivitelezők FileInputStream osztály
1. FileInputStream (karakterlánc neve)
Létrehoz egy bemeneti fájlfolyamot a megadott nevű fájlból való olvasáshoz.
FileInputStream fi = new FileInputStream('example.txt');
2. FileInputStream (fájlfájl)
Létrehoz egy bemeneti fájlfolyamot a megadott fájlobjektumból való olvasáshoz.
Fájl f = new Fájl('example.txt');
FileInputStream fi = new FileInputStream(f);
3. FileInputStream (Fájlleíró fdobj)
Létrehoz egy bemeneti fájlfolyamot a megadott fájlleíróból való olvasáshoz.
FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = new FileInputStream(fd);
Hozzon létre egy file.txt nevű fájlt a projekt könyvtárában a következő tartalommal:
kihagyási lista
Javaez az első kódom
ez a második kódom
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()); } } }
Kimenet:
KimenetA Java módszerei FileInputStream osztály
| Mód | Akció végrehajtva |
|---|---|
| elérhető() | Az ebből a bemeneti adatfolyamból kiolvasható (vagy átugorható) fennmaradó bájtok becsült számát adja vissza. |
| közeli() | Bezárja ezt a fájlbeviteli adatfolyamot, és felszabadítja az adatfolyamhoz kapcsolódó összes rendszererőforrást. |
| véglegesít() | Biztosítja, hogy a fájl bemeneti adatfolyam bezárási metódusa akkor kerüljön meghívásra, ha már nincs rá hivatkozás. |
| getChannel() | Az ehhez a fájlbeviteli adatfolyamhoz társított egyedi FileChannel objektumot adja vissza. |
| getFD() | A FileInputStream által használt fájlrendszerben található fájlrendszerben lévő tényleges fájlhoz való csatlakozást jelentő FileDescriptor objektumot adja vissza. |
| olvas() | Egy bájtnyi adatot beolvas ebből a bemeneti adatfolyamból |
| olvasás (byte[] b) | Akár b.length bájtnyi adatot olvas be ebből a bemeneti adatfolyamból egy bájttömbbe. |
| read(byte[] b int off int len) | Legfeljebb len bájtnyi adatot olvas be ebből a bemeneti adatfolyamból egy bájttömbbe. |
| skip() | Átugorja és eldobja n bájtnyi adatot a bemeneti adatfolyamból |