La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Java base VI: Gestione I/O. Argomenti Introdurre le API per linput e output in Java.

Presentazioni simili


Presentazione sul tema: "Java base VI: Gestione I/O. Argomenti Introdurre le API per linput e output in Java."— Transcript della presentazione:

1 Java base VI: Gestione I/O

2 Argomenti Introdurre le API per linput e output in Java

3 Obiettivi Familiarizzare con le procedure di accesso ai file

4 Input e Output in Java java.io Gestito dal package java.io classi interfacce eccezioni Composto da classi per Accedere ad informazioni relative ai file e alle directory Leggere e scrivere dati IMPORTATO ESPLICITAMENTE

5 La classe File La classe fondamentale per accedere alle informazioni relative ai file ed alle directory E importante tenere presenti i problemi di portabilità del codice: File f = new File(C:\prova.txt); File cartella = new File(C:\cartella); File f = new File(C:\, prova.txt); File f = new File(cartella,prova.txt); Metodi principali

6 Accesso ai dati Il meccanismo di lettura e scrittura dei dati è basato sul concetto di stream Sequenza ordinata di dati che hanno una sorgente (flussi di ingresso) o una destinazione (flussi di uscita) Per gestire gli stream abbiamo classi che agiscono da "lettori" e "scrittori ProgrammaJavaDispositivoI/O ProgrammaJavaDispositivoI/O INPUT STREAM OUTPUT STREAM stream di caratteri (16 bit) stream di byte (8 bit)

7 Algoritmi standard di lettura/scrittura 1) Apertura dello stream di input 2) while ci sono dati da leggere: Lettura dei dati in input 3) Chiusura dello stream 1) Apertura dello stream di 2) while ci sono dati da scrivere: Scrittura dei dati in 3) Chiusura dello stream Algoritmo di lettura Algoritmo di scrittura

8 Stream di Caratteri Le classi astratte Reader e Writer forniscono le API e una parziale implementazione di stream di caratteri, rispettivamente, di input e output; Reader InputStreamReaderFileReader BufferedReader Writer OutputStreamWriterFileWriter BufferedWriter Lettura e scrittura tramite buffer Riduce accessiAumenta efficienza

9 File inputFile = new File("input.txt"); File outputFile = new File("output.txt"); FileReader in = new FileReader(inputFile); FileWriter out = new FileWriter(outputFile); BufferedReader inb = new BufferedReader(in); BufferedWriter outb = new BufferedWriter(out); int c; while ((c = inb.read()) != -1) outb.write(c); inb.close(); outb.close(); Istanzio gli oggetti Scorro e scrivo Chiudo gli stram

10 Stream di byte Le classi astratte InputStream e OutputStream forniscono le API e una parziale implementazione di stream di byte di input e output InputStream FileInputStream OutputStream FileoutputStream ObjectInputStream ObjectOutputStream serializzare Permettono di serializzare un oggetto codificarlo come stream di byte Solo se oggetto implementa Interfaccia SERIALIZABLE

11 FileOutputStream out = new FileOutputStream("temp.dat"); ObjectOutputStream s = new ObjectOutputStream(out); s.writeObject("Oggi"); s.writeObject(new Date()); s.flush(); FileInputStream in = new FileInputStream("temp.dat"); ObjectInputStream i = new ObjectInputStream(in); String today = (String)i.readObject(); Date date = (Date)i.readObject(); Scrive su file i due oggetti Legge da file i due oggetti


Scaricare ppt "Java base VI: Gestione I/O. Argomenti Introdurre le API per linput e output in Java."

Presentazioni simili


Annunci Google