di: Luca Santaniello 13 Ottobre 2008
Abbiamo analizzato le classi messe a disposizione da Java per leggere e scrivere dei file di testo. Adesso vediamo come leggere e scrivere i file binari, cioè sequenze di byte, come può essere ad esempio un'immagine.
Le classi che Java mette a disposizione per leggere e scrivere file binari, sono rispettivamente java.io.FileInputStream e java.io.FileOutputStream.
Per prendere confidenza con queste classi, analizziamo subito dei semplicissimi esempi.
public static void read(){
try {
FileInputStream fis = new FileInputStream(new File("C:\\prova.jpg"));
int c = fis.read();
while (c != -1){
c = fis.read();
..//
}
fis.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
Per ottenere un'istanza della classe FileInputStream, che ci permette di aprire un file binario in modalità lettura, possiamo utilizzare uno dei seguenti costruttori della classe:
FileInputStream(File file) che riceve in ingresso un'istanza della classe File.FileInputStream(FileDescriptor fdObj) che riceve in ingresso un'istanza della classe FileDescriptor.FileInputStream(String name) che riceve in ingresso una stringa che rappresenta il path del file.Tutti e tre i costruttori possono sollevare un'eccezione FileNotFoundException qualora il file non viene trovato oppure non può essere aperto.
Per leggere un byte si utilizza il metodo read(), che restituisce il byte sottoforma di numero intero compreso tra 0 e 255.
Il metodo read può sollevare un'eccezione, IOException, se per qualche motivo il byte corrente non può essere letto.
Esistono 3 versioni differenti del metodo read:
read() che permette di leggere un byte a partire dalla posizione corrente.read(byte[] b) che permette di leggere b.length byte dal file. I byte letti vengono memorizzati nel byte array b.read(byte[] b, int off, int len) che permette di leggere len byte dal file a partire dalla posizione off. I byte letti vengono memorizzati nel byte array b.Quando la fine del file viene raggiunta (EOF End of file), il metodo read restituisce -1.
Al termine della lettura il file può essere chiuso invocando il metodo close().
|
AppFuse: realizzare un'applicazione completa (implementare i servizi) |
Guida Apache StrutsIl primo e più utilizzato tra i framework MVC del mondo Java,... |
Guida Java SpringScoprire il lightweight container più famoso del mondo Java.... |
Guida Java 6Prendendo le mosse dalla guida Java, già presente su HTML.it,... |
Ogni mese, direttamente nella tua e-mail: articoli, script e guide su Java, Visual Basic, VB.Net ed i più diffusi linguaggi di programmazione.
Iscriviti alla newsletter
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |