Le Tutoriel de Java FileInputStream
1. FileInputStream
FileInputStream est une sous-classe d'InputStream, qui est utilisée pour lire des fichiers binaires tels que des photos, de la musique, des vidéos. Les données reçues de la lecture sont des bytes bruts. Pour les fichiers texte standard, vous devez plutôt utiliser FileReader.
public class FileInputStream extends InputStream
- InputStream
- ByteArrayInputStream
- PushbackInputStream
- PipedInputStream
- SequenceInputStream
- BufferedInputStream
- DataInputStream
- FilterInputStream
- ObjectInputStream
- AudioInputStream
- InflaterInputStream
- DigestInputStream
- DeflaterInputStream
- CipherInputStream
- CheckedInputStream
FileInputStream constructors
FileInputStream(File file)
FileInputStream(FileDescriptor fdObj)
FileInputStream(String name)
La plupart des méthodes de FileInputStream sont héritées d'InputStream:
public final FileDescriptor getFD() throws IOException
public FileChannel getChannel()
// Methods inherited from InputStream:
public int read() throws IOException
public int read(byte b[]) throws IOException
public int read(byte b[], int off, int len) throws IOException
public byte[] readAllBytes() throws IOException
public byte[] readNBytes(int len) throws IOException
public int readNBytes(byte[] b, int off, int len) throws IOException
public long skip(long n) throws IOException
public int available() throws IOException
public synchronized void mark(int readlimit)
public boolean markSupported()
public synchronized void reset() throws IOException
public void close() throws IOException
public long transferTo(OutputStream out) throws IOException
FileChannel getChannel() | Utilisé pour renvoyer un objet unique FileChannel associé avec ce FileInputStrem. |
FileDescriptor getFD() | Utilisé pour renvoyer un objet unique FileDescriptor. |
2. Example 1
Comme premier exemple, on utilise FileInputStream pour lire un fichier texte japonais encodé avec UTF-8:
utf8-file-without-bom.txt
JP日本-八洲
Remarque: UTF-8 utilise 1, 2, 3 ou 4 bytes pour stocker un caractère. Entretemps, FileInputStream lit chaque byte à partir du fichier, donc vous recevrez un résultat pratiquement étrange.
FileInputStreamEx1.java
package org.o7planning.fileinputstream.ex;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
public class FileInputStreamEx1 {
public static void main(String[] args) throws MalformedURLException, IOException {
// Windows Path: C:/Data/test/utf8-file-without-bom.txt
String path = "/Volumes/Data/test/utf8-file-without-bom.txt";
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
int code;
while((code = fis.read()) != -1) {
char ch = (char) code;
System.out.println(code + " " + ch);
}
fis.close();
}
}
Output:
74 J
80 P
230 æ
151
165 ¥
230 æ
156
172 ¬
45 -
229 å
133
171 «
230 æ
180 ´
178 ²
Aux fins de lire les fichiers texte UTF-8, UTF-16,.. vous devez utiliser FileReader ou InputStreamReader:
Tutoriels Java IO
- Le Tutoriel de Java CharArrayWriter
- Le Tutoriel de Java FilterReader
- Le Tutoriel de Java FilterWriter
- Le Tutoriel de Java PrintStream
- Le Tutoriel de Java BufferedReader
- Le Tutoriel de Java BufferedWriter
- Le Tutoriel de Java StringReader
- Le Tutoriel de Java StringWriter
- Le Tutoriel de Java PipedReader
- Le Tutoriel de Java LineNumberReader
- Le Tutoriel de Java PushbackReader
- Le Tutoriel de Java PrintWriter
- Tutoriel sur les flux binaires Java IO
- Le Tutoriel de Java IO Character Streams
- Le Tutoriel de Java BufferedOutputStream
- Le Tutoriel de Java ByteArrayOutputStream
- Le Tutoriel de Java DataOutputStream
- Le Tutoriel de Java PipedInputStream
- Le Tutoriel de Java OutputStream
- Le Tutoriel de Java ObjectOutputStream
- Le Tutoriel de Java PushbackInputStream
- Le Tutoriel de Java SequenceInputStream
- Le Tutoriel de Java BufferedInputStream
- Le Tutoriel de Java Reader
- Le Tutoriel de Java Writer
- Le Tutoriel de Java FileReader
- Le Tutoriel de Java FileWriter
- Le Tutoriel de Java CharArrayReader
- Le Tutoriel de Java ByteArrayInputStream
- Le Tutoriel de Java DataInputStream
- Le Tutoriel de Java ObjectInputStream
- Le Tutoriel de Java InputStreamReader
- Le Tutoriel de Java OutputStreamWriter
- Le Tutoriel de Java InputStream
- Le Tutoriel de Java FileInputStream
Show More