Università degli studi di Bergamo
Informatica II
Programmazione Object Oriented
Esercitazioni
Esercitazione (File)
Dott. Marco Guarnieri
Dott. Eros Magri
23.03.12
File
●
●
●
java.io.File è la classe principale che lavora con
file e folder. Un'istanza di tale classe
rappresenta un file o una cartella nel filesystem
E' indipendente dal sistema operativo. Per il
separatore usare java.io.File.separator
File(path)
Se il path e' assoluto crea un oggetto File
per tale path. Se il path e' relativo crea
l'oggetto File per il file con tale path nella
directory di default
File(dirpath,fna Crea l'oggetto File con il path relativo alla
me)
directory passata
2
File
f.exists()
Ritorna true se il file esiste
f.isFile()
Ritorna true se f e' un file normale
f.isDirectory()
Ritorna true se f e' una directory
f.getName()
Ritorna il nome del file o directory
f.length()
Ritorna la dimensione in bytes del file
f.getPath()
Ritorna il path del file
f.delete()
Cancella il file
f.renameTo(f2)
Rinomina f in f2. Ritorna true in caso di
successo
f.createNewFile() Crea un nuovo file
3
Stream
●
●
Java utilizza il concetto di stream e cioe' flussi di
dati (byte)
Per accedere agli stream solitamente si
utilizzano sottoclassi di java.io.Reader e
java.io.Writer
4
Scrivere i File
●
Useremo:
●
●
●
●
FileWriter: Convenience class for writing character
files.
BufferedWriter: Writes text to a character-output
stream, buffering characters so as to provide for the
efficient writing of single characters, arrays, and
strings.
FileOutputStream: A file output stream is an output
stream for writing data to a File or to a FileDescriptor.
DataOutputStream: A data output stream lets an
application write primitive Java data types to an output
stream in a portable way.
5
Leggere i File
●
Useremo:
●
●
●
●
●
FileInputStream: A FileInputStream obtains input bytes from
a file in a file system.
DataInputStream: A data input stream lets an application
read primitive Java data types from an underlying input
stream in a machine-independent way.
InputStreamReader: An InputStreamReader is a bridge from
byte streams to character streams: It reads bytes and
decodes them into characters using a specified charset.
BufferedReader: Reads text from a character-input stream,
buffering characters so as to provide for the efficient reading
of characters, arrays, and lines.
FileReader: Convenience class for reading character files.
6
Esercizio 1f
●
Si scriva un'applicazione che gestisce i prodotti
di un bar (nome, prezzo) e che permette di
stampare su file uno scontrino nel seguente
formato:
[nomeprodotto1, prezzoUnitarioInCentesimi, quantità]\n
[nomeprodotto2, prezzoUnitarioInCentesimi, quantità]\n
:
:
{“totale”, totaleComplessivoInCentesimi}
7
Esercizio 1f
●
Un esempio di scontrino puo' essere:
[Coca Cola, 300, 1]\n
[Bionda media, 450, 2]\n
[Caffe, 100, 3]\n
{totale, 1500}
8