Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoCelia Monaco Modificato 10 anni fa
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.