Laboratorio di reti I: Java IO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di reti I: Java IO"

Transcript

1 Laboratorio di reti I: Java IO Stefano Brocchi 15 ottobre, 2008 Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

2 Gli InputStream e gli OutputStream Gli stream L astrazione di base per le comunicazioni in Java è lo stream (flusso) Le due classi di base per la gestione dell IO sono InputStream ed OutputStream che rappresentano, rispettivamente, un flusso di dati in ingresso ed uno in uscita. Queste sono contenute nel pacchetto java.io Java OutputStream Canale InputStream Java Gli stream offrono un interfaccia di comunicazione indipendente dal canale di comunicazione stesso Una volta creato il giusto tipo di stream, si può usare lo stesso codice per leggere e scrivere indifferentemente su vari canali File Connessione di rete Zone di memoria Standard input/output Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

3 Gli InputStream e gli OutputStream Le classi InputStream ed Outputstream Tramite gli stream si realizzano in Java la scrittura e la lettura in modo sequenziale Le classi InputStream ed OutputStream sono astratte: i metodi chiave per la lettura e la scrittura read e write non sono implementati La loro realizzazione dovrà essere fatta nelle loro sottoclassi che implementano la comunicazione su di un determinato canale FileInputStream,FileOutputStream PipedInputStream,PipedOutputStream ByteArrayInputStream,ByteArrayOutputStream Il dato di base gestito dagli stream è il byte Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

4 Gli InputStream e gli OutputStream La classe InputStream: metodi La classe InputStream offre vari metodi di base public abstract int read() throws IOException Legge un byte dallo stream, restituendolo come un intero da 0 a 255 o ritornando -1 se lo stream non può più restituire alcun valore (es. fine file). public int read(byte[] b, int off, int len) throws IOException Legge al più len bytes dallo stream scrivendoli nel vettore b a partire dalla posizione off. Restituisce il numero di byte effettivamente letti o -1 se lo stream non può più restituire alcun valore. public int read(byte[] b) throws IOException Equivalente a read (b, 0, b.length) public void close() Chiude lo stream rilasciando le risorse utilizzate Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

5 Gli InputStream e gli OutputStream La classe InputStream: metodi Altri metodi di InputStream public int available() throws IOException Restituisce il numero di byte attualmente disponibili sullo stream public void mark(int readlimit) public void reset() throws IOException public boolean marksupported() Il metodo mark permette di segnare il punto dello stream dove è arrivata la lettura; con il metodo reset si riporta la lettura al punto specificato da mark. Il metodo marksupported restituisce true se mark e reset sono effettivamente implementati nello stream utilizzato. public long skip(long n) throws IOException Salta gli n byte successivi presenti dello stream; restituisce il numero di byte effettivamente ignorati. Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

6 Gli InputStream e gli OutputStream La classe OutputStream: metodi I metodi della classe OutputStream sono perlopiù simmetrici a quelli di InputStream public abstract void write(int b) throws IOException Scrive gli otto bit meno significativi dell intero b public void write(byte[] b) throws IOException Scrive tutti i byte contenuti in b sullo stream public void write(byte[] b, int off, int len) throws IOException Scrive len bytes sullo stream a partire dalla posizione off del vettore b Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

7 Gli InputStream e gli OutputStream La classe OutputStream: metodi public void flush() throws IOException Scrive tutti i byte passati in write sul canale di output. E possibile infatti che alcuni stream non scrivano immediatamente sul canale ma mantengano alcuni dati in una memoria interna; questo metodo forza la scrittura di tutti i dati passati in scrittura public void close() throws IOException Chiude il canale di output e rilascia le risorse occupate Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

8 Gli InputStream e gli OutputStream Le classi FileInputStream e FileOutputStream Due classi che realizzano gli stream sono FileInputStream e FileOutputStream, utilizzate per la scrittura e la lettura di file Nel costruttore viene specificato il nome del file a cui accedere: public FileOutputStream(String name) throws FileNotFoundException Una volta creato lo stream, questo può essere utilizzato come stream generico; il seguente codice crea (o sovrascrive) un file OutputStream out = new FileOutputStream("prova.txt"); out.write("file di prova".getbytes()); out.close(); Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

9 Gli InputStream e gli OutputStream Un esempio: copia di un file Vediamo il codice per la copia di un file try { InputStream in = new FileInputStream("source"); OutputStream out = new FileOutputStream("dest"); int b = in.read(); while (b >= 0) { out.write(b); b = in.read(); } in.close(); out.close(); } catch (IOException e) {... } Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

10 I PipedStream Java IO Gli InputStream e gli OutputStream Un altro tipo di stream sono i PipedStream, utili per scrivere su un area di memoria Perchè l InputStream e l OutputStream siano legati alla stessa area è necessario passare uno al costruttore dell altro: PipedInputStream in = new PipedInputStream(); PipedOutputStream out = new PipedOutputStream(in); A questo punto la comunicazione può procedere tramite i soliti metodi out.write("messaggio di prova".getbytes()); b = new byte[in.available()]; in.read(b); System.out.println(new String(b)); Essendo una zona di memoria un canale dinamico, una read su un stream vuoto resterà in attesa. Questo si può evitare chiudendo il canale di comunicazione in uscita o controllando la disponibilità dei dati prima della lettura. Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

11 Uso di classi filter per stream Classi filter Desideriamo avere delle classi che aggiungano delle funzionalità in fase di lettura o scrittura alle classi stream presenti Alcuni filtri sono: BufferedOutputStream, per scrivere l output sempre a blocchi invece che byte per byte DataOutputStream, per la scrittura di dati ad alto livello (diversi dai byte) PrintStream, per la scritture di dati di alto livello sotto forma di sequenze di caratteri GZipOutputStream, per comprimere i dati via via che vengono scritti Per ognuna delle precedenti tranne PrintStream esiste il rispettivo InputStream Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

12 Classi filter Java IO Uso di classi filter per stream Problema: vogliamo avere delle classi che possano avere le funzionalità di varie combinazioni delle classi descritte, ma possiamo ereditare da una sola classe: FileOutputStream BufferedOutputStream DataOutputStream? Soluzione: le classi di tipo InputStream e OutputStream vengono realizzate tramite il pattern del decorator Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

13 Classi filter Java IO Uso di classi filter per stream Le classi filter prendono un OutputStream nel costruttore e, nei loro metodi, prima effettuano le operazioni di filtraggio e dopo inoltrano l operazione allo stream contenuto OutputStream FilterOutputStream BufferedOutputStream DataOutputStream FileOutputStream PipedOutputStream Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

14 Uso di classi filter per stream Combinare classi di tipo OutputStream Possiamo quindi combinare liberamente stream di output OutputStream out = new FileOutputStream("outFile"); out = new BufferedOutputStream(out); DataOutputStream out2 = new DataOutputStream(out); Un istruzione di scrittura verrà a questo punto inoltrata a tutti gli stream utilizzati write() DataOutputStream BufferedOutputStream FileOutputStream Del tutto simmetrica è la gestione degli stream di input Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

15 Uso di classi filter per stream La classe FilterOutputStream La classe FilterOutputStream, dalla quale derivano i possibili filtri, richiede nel costruttore l OutputStream al quale si riferisce public FilterOutputStream(OutputStream out) Le classi derivanti potranno accedere a questo stream tramite il campo protetto out I metodi di FilterOutputStream inoltrano semplicemente le varie operazioni (write, close, flush...) a questo stream Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

16 Uso di classi filter per stream Realizzazione di un filtro Vediamo per esempio come si può implementare un filtro Supponiamo di voler realizzare un filtro che stampa su schermo tutto ciò che viene scritto sullo stream Si duplicano così tutte le scritture: un metodo write scriverà contemporaneamente su schermo e sullo stream in output La classe dovrà estendere FilterOutputStream, e il suo costruttore inoltrerà la costruzione dell oggetto a questa classe import java.io.*; public class filter extends FilterOutputStream { filter(outputstream o) { super(o); } Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

17 Realizzazione di un filtro Java IO Uso di classi filter per stream Nel metodo write(int b) dovremo quindi Implementare il comportamento aggiuntivo del filtro Inoltrare la scrittura allo stream contenuto public void write(int b) throws IOException { System.out.print((char)b); out.write(b); } Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

18 Uso di classi filter per stream Realizzazione di un filtro Gli altri metodi write possono essere realizzati richiamando questo metodo: public void write(byte[] b, int off, int len) throws IOException { for (int i = off; i < off + len; i++) { write(b[i]); } } public void write(byte[] b) throws IOException { write(b, 0, b.length); } Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

19 Uso di classi filter per stream Realizzazione di un filtro Volendo è possibile riscrivere anche gli altri metodi, se al loro richiamo vogliamo realizzare funzionalità aggiuntive Supponiamo per esempio di voler andare a capo quando lo stream viene chiuso: public void close() throws IOException { System.out.println(); out.close(); } Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

20 Uso di classi filter per stream Realizzazione di un filtro Possiamo testare il funzionamento della classe stampando contemporaneamente su di un file e su schermo: FileOutputStream out = new FileOutputStream("test.txt"); filter f = new filter(out); f.write("messaggio di prova".getbytes()); f.close(); Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

21 Stream forniti dal sistema Stream di sistema Alcuni stream di input ed output comunemente utilizzati sono forniti dal sistema come campi pubblici e statici della classe System InputStream in rappresentante lo standard input PrintStream out rappresentante lo standard output PrintStream err rappresentante lo standard error Gli stream di standard input, output ed error possono essere rediretti rispettivamente tramite i metodi System.setIn, System.setOut e System.setErr Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

22 Le classi Reader e Writer Flussi di caratteri: classi Reader e Writer Le classi Reader e Writer hanno lo stesso ruolo di InputStream ed OutputStream ma gestiscono stream di caratteri invece che di byte Possono essere usate per comodità nello scrivere su canali che richiedono testo collegandoli ad una classe stream tramite oggetti di tipo InputStreamReader ed OutputStreamWriter Il sistema di classi di filtraggio è identico a quello descritto per InputStream ed OutputStream Un esempio di scrittura su file: OutputStream outs = new FileOutputStream("file.txt"); Writer out = new OutputStreamWriter(outs); out = new BufferedWriter(out); out.write("file di prova"); out.close(); Le classi Reader e Writer hanno sostanzialmente gli stessi metodi di InputStream ed OutputStream Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

23 Altre classi di java.io: File e RandomAccessFile La classe File Per interfacciarsi con il filesystem Java mette a disposizione la classe File Un oggetto file rappresenta un file o una cartella; può essere creato passando al costruttore il suo nome con percorso assoluto o relativo File f = new File("../file.txt"); File f2 = new File("c:\\directory\\file.txt"); E inoltre possibile creare un file relativamente a un percorso iniziale, passando al costruttore il file con il percorso ed una stringa con il nome del file: File f3 = new File("c:\\"); File f4 = new File(f3, "dir\\file.txt"); // f4 e il file c:\dir\file.txt Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

24 Altre classi di java.io: File e RandomAccessFile La classe File Il campo statico separator contiene il separatore di percorso dipendente dal sistema (\ oppure /) Fare riferimento a questo campo per mantenere il codice indipendente dalla piattaforma String sep = File.separator; File f3 = new File("dir" + sep + "file.txt"); L istruzione new File(".") ottiene l oggetto rappresentante la cartella di lavoro corrente Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

25 Altre classi di java.io: File e RandomAccessFile La classe File: metodi La classe File mette a disposizione numerosi metodi per vari utilizzi: Interrogazione di proprietà del file: canread, canwrite, exists, getname, isdirectory, length Manipolazione del file: delete, deleteonexit, mkdir, renameto, setlastmodified Navigazione del file system: getparent, list, listfiles Per la creazione di un file temporaneo si può usare il metodo statico createtempfile(string prefix, String suffix) che crea un file nella directory temporanea di sistema con il prefisso ed il suffisso specificati Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

26 Altre classi di java.io: File e RandomAccessFile Uso della classe File: esempio Vediamo per esempio un metodo che stampa a schermo tutti i file in una cartella e nelle sue sottocartelle public static void showfiles(file dir) { File[] files = dir.listfiles(); for (int i = 0; i < files.length; i++) { if (files[i].isdirectory()) { File newdir = new File(dir, files[i].getname()); showfiles(newdir); } else { System.out.println(files[i]); } } } Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

27 Altre classi di java.io: File e RandomAccessFile La classe RandomAccessFile Per l accesso casuale ad un file esiste la classe RandomAccessFile Questa offre metodi per la lettura e scrittura anche non sequenziale Al momento della costruzione dell oggetto si può specificare che il file verrà usato sia in fase di letture che di scrittura Es. raf = new RandomAccessFile(filename, "rw"); Le modifiche vengono fatte nella posizione indicata da un cursore manipolabile con i metodi getfilepointer, che restituisce la sua posizione, e seek, che lo posiziona nel punto indicato Disponibili metodi per la gestione di dati ad alto livello: readint, writeint readfloat, writefloat readboolean, writeboolean readline Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

28 Esercizio Esercizio Scrivere una classe che per ogni file con suffisso.txt presente nella cartella corrente ne crei una copia nella sottocartella uppercase con tutte le lettere maiuscole Nel caso vengano passati dei parametri alla classe scriverli nel file argomenti.txt sempre con tutte le lettere rese maiuscole Le lettere maiuscole A-Z sono codificate con i byte 65-90, le minuscole con , ordinatamente Le letture e le scritture devono venir eseguite efficientemente tramite un buffer Realizzare la classe tramite uno dei seguenti metodi: Lettura da uno stream, trasformazione del carattere e scrittura su un altro stream Implementazione di un OutputStream (o di un Writer) che, ricevendo dati rappresentanti caratteri minuscoli, scrivano caratteri maiuscoli Utilizzo della classe RandomAccessFile Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, / 28

Lettura e scrittura - Stream

Lettura e scrittura - Stream Lettura e scrittura - Stream Obiettivo(fine della lezione): leggere/scrivere da/su file (e quindi verso qualsiasi dispositivo) Tipi di stream Stream di caratteri Stream di byte Classi astratte che implementano

Dettagli

A. Ferrari Java: Stream e File

A. Ferrari Java: Stream e File Java: Stream e File la classe File o per operare con l intero file java mette a disposizione la classe File o per utilizzare la classe File è necessario importare la libreria java.io.file o la classe File

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Java File Flussi e file Flusso (stream) = sequenza di dati di input: da cui leggere di output: su cui scrivere I file sono visti come flussi di dati Il package java.io definisce

Dettagli

Lettura e scrittura - Stream

Lettura e scrittura - Stream Lettura e scrittura - Stream Obiettivo(fine della lezione): leggere/scrivere da/su file (e quindi verso qualsiasi dispositivo)! Tipi di stream " Stream di caratteri " Stream di byte! Classi astratte che

Dettagli

A. Ferrari Stream e File

A. Ferrari Stream e File Stream e File Java la classe File o per operare con l intero file java mette a disposizione la classe File o per utilizzare la classe File è necessario importare la libreria java.io.file o la classe File

Dettagli

LETTURA DI DATI DA INPUT

LETTURA DI DATI DA INPUT LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream FileDescriptor InputStream SequenceInputStream ByteArrayInputStream

Dettagli

INPUT OUTPUT

INPUT OUTPUT INPUT OUTPUT Il package java.io include classi, interfacce ed eccezioni per la gestione dellʼi/o. Si può distinguere tra due classi di funzionalità: per leggere e scrivere dati (anche in maniera indipendente

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A2 I file binari 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

La paninoteca. Mi resta da scrivere solo costo()

La paninoteca. Mi resta da scrivere solo costo() La paninoteca Mi resta da scrivere solo costo() La paninoteca Usiamo l ereditarietà per definire dei Panini particolari Ci sono alcuni tipi di pane Estendendo Panino scrivo meno codice Nell esempio eredito

Dettagli

Gestione di file in Java

Gestione di file in Java CAPITOLO 17 Gestione di file in Java Ogni insieme di informazioni residenti su memoria di massa costituisce in Java un flusso di dati che è denominato stream. Più in particolare un input stream costituisce

Dettagli

Riassunto. Rassegna API - 2: eccezioni e file. Eccezioni. Oggi. Gettare. Gettare, catturare, rimbalzare. Stefano Mizzaro 1

Riassunto. Rassegna API - 2: eccezioni e file. Eccezioni. Oggi. Gettare. Gettare, catturare, rimbalzare. Stefano Mizzaro 1 Rassegna API - 2: eccezioni e file Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 18,19 15,19/11/2013

Dettagli

Riassunto. Rassegna API - 2: eccezioni e file. Eccezioni. Oggi. Gettare, catturare, rimbalzare. Gettare. Stefano Mizzaro 1

Riassunto. Rassegna API - 2: eccezioni e file. Eccezioni. Oggi. Gettare, catturare, rimbalzare. Gettare. Stefano Mizzaro 1 Rassegna API - 2: eccezioni e file Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 21 Riassunto

Dettagli

Informatica I. Ingegneria Medica. Prof. Diego Salamon

Informatica I. Ingegneria Medica. Prof. Diego Salamon Informatica I Ingegneria Medica Prof. Diego Salamon Gestione I/O Prof. Diego Salamon Introduzione Nella creazione e gestione del software è necessario interagire con entità esterne a quelle del programma

Dettagli

Le classi FileInputStream e RandomAccessFile. Semplici Algoritmi di Ordinamento

Le classi FileInputStream e RandomAccessFile. Semplici Algoritmi di Ordinamento Fondamenti di Informatica Le classi FileInputStream e RandomAccessFile Semplici Algoritmi di Ordinamento Fondamenti di Informatica - D. Talia - UNICAL 1 Classe FileInputStream La classe FileInputStream

Dettagli

Informatica. Prof. A. Longheu. Input e Output

Informatica. Prof. A. Longheu. Input e Output Informatica Prof. A. Longheu Input e Output 1 Il package java.io Il package java.io definisce i concetti base per gestire l I/O da qualsiasi sorgente e verso qualsiasi destinazione. L obiettivo è fornire

Dettagli

Jav@Lab Il linguaggio Java I file sequenziali

Jav@Lab Il linguaggio Java I file sequenziali Jav@Lab Il linguaggio Java I file sequenziali Input e Output Secondo i canoni dei linguaggi di programmazione "procedurali" il concetto di input e output è strettamente legato al tipo di dispositivo esterno

Dettagli

INPUT OUTPUT Programmazione in rete e laboratorio. Le operazioni di I/O avvengono attraverso stream (sequenze di byte)

INPUT OUTPUT Programmazione in rete e laboratorio. Le operazioni di I/O avvengono attraverso stream (sequenze di byte) INPUT OUTPUT 2004-05 Le operazioni di I/O avvengono attraverso stream (sequenze di byte) programma stream in lettura sorgente Programmazione in rete e laboratorio programma stream in scrittura destinazione

Dettagli

JAVA - I/O System. Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita:

JAVA - I/O System. Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita: JAVA - I/O System Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita: 1. InputStream: Flusso di byte in ingresso. Con questa classe

Dettagli

Input/Output in Java

Input/Output in Java Corso Java Input/Output in Java Docente: Dott. Marco Bianchi Slide realizzate da Ing. A.Bei, Dott. M.Bianchi, Dott. F.Lombardi Input/Output in Java Per effettuare operazioni di I/O in Java è possibile

Dettagli

Lezione 16 programmazione in Java

Lezione 16 programmazione in Java Lezione 16 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO I FILE Sgli stream (flussi) I file ad

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Ingegneria del software A Input/output (in Java) Michele Tomaiuolo Eccezione Un eccezione è

Dettagli

I/O Streams in Java. Lorenzo Gallucci

I/O Streams in Java. Lorenzo Gallucci I/O Streams in Java Lorenzo Gallucci I/O Streams La libreria Java dispone di un API sofisticata per l interfacciamento I/O Il package di riferimento è java.io Due classi principali InputStream, per l input

Dettagli

LETTURA DI DATI DA INPUT. Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream

LETTURA DI DATI DA INPUT. Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream LETTURA DI DATI DA INPUT Sfortunatamente, una tale classe non esiste

Dettagli

Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale. Anno Accademico 2012/2013

Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale. Anno Accademico 2012/2013 Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale Anno Accademico 2012/2013 Streams Maggior parte della programmazione di rete è eseguire operazione di input e output. Sposto byte

Dettagli

LETTURA E SCRITTURA DI FILE

LETTURA E SCRITTURA DI FILE LETTURA E SCRITTURA DI FILE (slide: A. Baratè L.A. Ludovico) Programmazione per la Musica Adriano Baratè LA CLASSE FILE La classe File fornisce una rappresentazione astratta del percorso (pathname) di

Dettagli

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe

Dettagli

Variabili e Metodi di classe Interfacce e Package File in Java

Variabili e Metodi di classe Interfacce e Package File in Java Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe definisce un

Dettagli

File e Stream In Java. Prof. Francesco Accarino IIS Sesto San Giovanni Via Leopardi 132

File e Stream In Java. Prof. Francesco Accarino IIS Sesto San Giovanni Via Leopardi 132 File e Stream In Java Prof. Francesco Accarino IIS Sesto San Giovanni Via Leopardi 132 Lettura da e scrittura su file Java fornisce operazioni di input/output tramite le classi del package java.io. La

Dettagli

Esercitazione n 4. Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java:

Esercitazione n 4. Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java: Esercitazione n 4 Obiettivi: Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java: Gestione di input/output da console e da file (package java.io) Utilizzo di

Dettagli

02CBI - M. Morisio. I/O in Java. Input Output. Classi di Primo Livello - java.io. Stream. Pag. 1

02CBI - M. Morisio. I/O in Java. Input Output. Classi di Primo Livello - java.io. Stream. Pag. 1 Input Output I/O in Java Stream Buffer File StringTokenizer, StreamTokenizer Serializzazione Stream Stream Tutte le operazioni di I/O si riferiscono all astrazione dello STREAM (flusso di byte) Uno stream

Dettagli

Input/Output in Java

Input/Output in Java Input/Output in Java 1 Comunicare con il mondo Praticamente ogni programma ha la necessità di comunicare con il mondo esterno Con l utente attraverso tastiera e video Con il file system per leggere e salvare

Dettagli

Unità 2 I file binari

Unità 2 I file binari Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA file binari file di tipi primitivi file di oggetti serializzazione (B) CONOSCENZA E COMPETENZA Rispondere alle seguenti domande

Dettagli

Input/Output. Introduzione. Stream. Capitolo 10 LORENZO BETTINI

Input/Output. Introduzione. Stream. Capitolo 10 LORENZO BETTINI Capitolo 10 Input/Output LORENZO BETTINI Introduzione In questo capitolo verrà illustrato il package java.io, che supporta il sistema fondamentale di input/output (I/O) di Java. Nei programmi Java vengono

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA8 B1 Accesso sequenziale 1 Prerequisiti Programmazione ad oggetti Conoscenza classi di base di I/O Tecnica della programmazione 2 1 Introduzione In questa Unità vediamo

Dettagli

FileInputStream read() read(byte[]) readint() DataInputStream FileInputStream EOFException

FileInputStream read() read(byte[]) readint() DataInputStream FileInputStream EOFException ESERCITAZIONE 9 I/O Esercizio 1 Lettura da file binario Se gli interi letti appartengono a [-5;5] scrittura su un altro file binario Altrimenti sollevare una eccezione la quale stampa a video un messaggio

Dettagli

Creazione, eliminazione, lettura e scrittura di file di testo

Creazione, eliminazione, lettura e scrittura di file di testo Creazione, eliminazione, lettura e scrittura di file di testo Java mette a disposizione degli sviluppatori diverse classi per lavorare con i file di testo, analizziamo le principali: java.io.file La classe

Dettagli

Il linguaggio Java. Gli stream

Il linguaggio Java. Gli stream Il linguaggio Java Gli stream Overview Uno stream è un flusso unidirezionale di informazioni da una sorgente esterna ovvero verso una sorgente esterna a cui si accede in modo sequenziale 2 Algoritmi di

Dettagli

Creazione, eliminazione, lettura e scrittura di file di testo

Creazione, eliminazione, lettura e scrittura di file di testo Creazione, eliminazione, lettura e scrittura di file di testo Creazione Java mette a disposizione degli sviluppatori diverse classi per lavorare con i file di testo, analizziamo le principali: java.io.file

Dettagli

Java I/O e serializzazione

Java I/O e serializzazione Java I/O e serializzazione Caratteristiche dell I/O in Java Diverse classi per gestire I/O differenti sotto un unica struttura. Possibilità di combinare classi differenti. Modalità di interazione distinte

Dettagli

Gestione dell I/O su File

Gestione dell I/O su File Fondamenti di Informatica Prof. Alfredo Cuzzocrea University of Trieste Gestione dell I/O su File Credits to: Prof. L. Badia UniPD Lettura da e scrittura su file Java fornisce operazioni di input/output

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso

Dettagli

Il package java.io fornisce le classi necessarie per effettuare input e output su file/rete/console/aree di memoria RAM eccetera.

Il package java.io fornisce le classi necessarie per effettuare input e output su file/rete/console/aree di memoria RAM eccetera. IL PACKAGE JAVA.IO Il package java.io fornisce le classi necessarie per effettuare input e output su file/rete/console/aree di memoria RAM eccetera. Il package può essere classificato secondo vari punti

Dettagli

Lezione 18 Le classi per l'input/output nel pacchetto java.io

Lezione 18 Le classi per l'input/output nel pacchetto java.io Lezione 18 Le classi per l'input/output nel pacchetto java.io Il package java.io incapsula le funzionalità di Input/Output (I/O) di Java. Come tutti i programmatori presto imparano, le applicazioni informatiche

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA8 B2 Accesso diretto 1 Prerequisiti Programmazione ad oggetti Conoscenza classi di base di I/O Tecnica della programmazione Organizzazione ed accesso ai file 2 1 Introduzione

Dettagli

Java I/O e serializzazione

Java I/O e serializzazione Java I/O e serializzazione Caratteristiche dell I/O in Java Diverse classi per gestire I/O differenti sotto un unica struttura. Possibilita di combinare classi differenti. Modalita di interazione distinte

Dettagli

L input da tastiera in Java. Dott. Ing. M. Banci, PhD

L input da tastiera in Java. Dott. Ing. M. Banci, PhD L input da tastiera in Java Dott. Ing. M. Banci, PhD La lettura di un flusso di input in Java avviene attraverso l'oggetto in della classe System. System.in appartiene alla classe InputStream (letteralmente

Dettagli

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Università di Ferrara Dipartimento di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Tutor Arnaud Nguembang Fadja: ngmrnd@unife.it Damiano Azzolini: damiano.azzolini@student.unife.it Esercizio

Dettagli

15 Input-Output. Mirko Viroli C.D.L. Ingegneria e Scienze Informatiche Alma Mater Studiorum Università di Bologna, Cesena

15 Input-Output. Mirko Viroli C.D.L. Ingegneria e Scienze Informatiche Alma Mater Studiorum Università di Bologna, Cesena 15 Input-Output Mirko Viroli mirko.viroli@unibo.it C.D.L. Ingegneria e Scienze Informatiche Alma Mater Studiorum Università di Bologna, Cesena a.a. 2015/2016 Mirko Viroli (Università di Bologna) OOP15:

Dettagli

Quando usare file di dati

Quando usare file di dati Quando usare file di dati Per salvare dati da un esecuzione di un applicazione alla successiva Da usare quando c è soltanto una piccola quantità di dati, tale da non giustificare l uso di un database Da

Dettagli

Flussi, lettori e scrittori

Flussi, lettori e scrittori Flussi, lettori e scrittori Per sequenze di byte, InputStream, OutputStream e loro sottoclassi. Es: InputStream in = ; int next = in. read(); if (next!= -1) byte b = (byte) next; Per sequenze di caratteri,

Dettagli

Fondamenti di Informatica C Esercitazioni di Laboratorio / 4 Outline

Fondamenti di Informatica C Esercitazioni di Laboratorio / 4  Outline Fondamenti di Informatica C Esercitazioni di Laboratorio / 4 http://polaris.ing.unimo.it/fic/laboratorio.html Ing. Francesco De Mola demola.francesco@unimore.it DII, Modena Via Vignolese (lab. Dottorandi

Dettagli

14 Input-Output. Outline. Goal della lezione. Argomenti. Mirko Viroli a.a. 2013/2014

14 Input-Output. Outline. Goal della lezione. Argomenti. Mirko Viroli a.a. 2013/2014 14 Input-Output Mirko Viroli mirko.viroli@unibo.it C.D.L. Ingegneria e Scienze Informatiche Alma Mater Studiorum Università di Bologna, Cesena a.a. 013/014 Mirko Viroli (Università di Bologna) OOP14: I/O

Dettagli

Il sistema I/O di Java

Il sistema I/O di Java Programmazione Java:. Il sistema I/O di Java romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Stream I/O Gestione di stream byte oriented Filtri Gestione di stream char oriented

Dettagli

Socket (TCP/IP) Socket (TCP/IP) Concetto di socket. Cenni (reti)

Socket (TCP/IP) Socket (TCP/IP) Concetto di socket. Cenni (reti) Socket (TCP/IP) M. Danelutto LPRb A.A. 2007-2008 Socket (TCP/IP) M. Danelutto LPRb A.A. 2007-2008 Concetto di socket Astrazione presa di rete Comunicazione fra processi su macchine diverse O fra processi

Dettagli

Principi, Modelli e Applicazioni per Sistemi Distribuiti M

Principi, Modelli e Applicazioni per Sistemi Distribuiti M Università degli Studi di Bologna Facoltà di Ingegneria Principi, Modelli e Applicazioni per Sistemi Distribuiti M Esercitazione 2 (svolta) Socket Java con connessione Alessandro Pernafini Architettura

Dettagli

Programmazione distribuita in Java. Socket & Client-Server

Programmazione distribuita in Java. Socket & Client-Server Programmazione distribuita in Java Socket & Client-Server 1 Strumenti per networking Libreria java.net Socket (Astrazione per una presa di comunicazione) Serializzazione Socket Per comunicare si apre una

Dettagli

domenica 9 giugno 13 Serializzazione

domenica 9 giugno 13 Serializzazione Serializzazione A cosa serve? Ad ottenere una rappresentazione di una struttura dati che possiamo memorizzare, trasmettere via rete Cosa possiamo serializzare? OK NO Tipi primitivi, Riferimenti stringhe

Dettagli

Note ed esercizi aggiuntivi

Note ed esercizi aggiuntivi Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi 16. Stream di I/O Esempio. Visualizza sul monitor il contenuto di un file di caratteri. int i; while ((i

Dettagli

Prof. D. Malerba Dr. A. Appice - Dr. M.Ceci. Il sistema Input/Output di Java

Prof. D. Malerba Dr. A. Appice - Dr. M.Ceci. Il sistema Input/Output di Java Il sistema Input/Output di Java 1 Il sistema Input/Output di Java La libreria standard di Java offre una vasta gamma di classi per la gestione dell I/O. Queste permettono di gestire tanto un collegamento

Dettagli

Un flusso (stream) è una astrazione che produce e/o consuma informazioni.

Un flusso (stream) è una astrazione che produce e/o consuma informazioni. I programmi Java eseguono l I/O mediante i flussi. Un flusso (stream) è una astrazione che produce e/o consuma informazioni. Ogni flusso è collegato ad un dispositivo fisico dal sistema di I/O di java.

Dettagli

Introduzione. Java. Streams. Streams

Introduzione. Java. Streams. Streams Java il sistema di I/O G. Prencipe prencipe@di.unipi.it Introduzione La gestione del sistema di I/O è una parte fondamentale di qualsiasi linguaggio di programmazione In questa lezione approfondiremo la

Dettagli

Note ed esercizi aggiuntivi

Note ed esercizi aggiuntivi Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi

Dettagli

ESERCIZIO 1 (FILE DI TESTO)

ESERCIZIO 1 (FILE DI TESTO) ESERCIZIO 1 (FILE DI TESTO) Scrivere su un file di testo righe inserite da console, fino a quando non viene inserita la linea vuota. Passare il nome del file come parametro al programma. Bisogna incapsulare

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Eccezioni: Gestione dei Flussi versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei Input Il tipo char Alcune modalità di acquisizione di input 1 Lettura di dati in input Vediamo due modi per acquisire dei dati di input dall utente: 1. Tramite una finestra grafica di dialogo 2. Tramite

Dettagli

Operazioni di input/output. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Operazioni di input/output. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Operazioni di input/output Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Input /Output introduzione Per ottenere delle informazioni un programma apre un flusso (Stream)

Dettagli

Indice. 1 Java I/O API. Indice

Indice. 1 Java I/O API. Indice Indice Indice 1 Java I/O API 1 1.1 Flussi di byte in input/output....................................... 2 1.2 Leggere e scrivere su file......................................... 4 1.3 Flussi di caratteri

Dettagli

Java I/O API. Java I/O. G. Grossi. 10 gennaio G. Grossi Lezione 11

Java I/O API. Java I/O. G. Grossi. 10 gennaio G. Grossi Lezione 11 Java I/O G. Grossi 10 gennaio 2007 Indice 1 Java I/O API Il sistema I/O: questioni generali Creare un buon sistema I/O è uno dei compiti più difficili per i progettisti di linguaggi Questo fatto è evidenziato

Dettagli

Laboratorio di reti I

Laboratorio di reti I Laboratorio di reti I Stefano Brocchi brocchi@dsi.unifi.it 13 ottobre, 2009 Stefano Brocchi Laboratorio di reti I 13 ottobre, 2009 1 / 27 Introduzione Obiettivi del corso Aspetti di programmazione Java

Dettagli

10. File e loro attributi

10. File e loro attributi Appunti java pag. 133 10. File e loro attributi In generale, in qualsiasi sistema operativo, il file system consente di operare su archivi di dati (data files) che possono essere organizzati e memorizzati

Dettagli

Esercitazioni Ingegneria del So2ware 3 - Programmazione Java Excep<ons, I/O

Esercitazioni Ingegneria del So2ware 3 - Programmazione Java Excep<ons, I/O Esercitazioni Ingegneria del So2ware 3 - Programmazione Java Excep

Dettagli

18 - Classi parzialmente definite: Classi Astratte e Interfacce

18 - Classi parzialmente definite: Classi Astratte e Interfacce 18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

17 - Classi parzialmente definite: Classi Astratte e Interfacce

17 - Classi parzialmente definite: Classi Astratte e Interfacce 17 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Sockets in Java. Lorenzo Gallucci

Sockets in Java. Lorenzo Gallucci Sockets in Java Lorenzo Gallucci Sockets La libreria Java dispone di un API per la gestione dell I/O di rete Il package di riferimento è java.net Vari compiti: Gestione dell I/O su socket (sia TCP che

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

Server Sequenziale. Server Concorrente. Esercitazione: Socket Java con connessione

Server Sequenziale. Server Concorrente. Esercitazione: Socket Java con connessione Esercitazione: Socket Java con connessione Sviluppare un applicazione C/S che effettui il trasferimento di un file dal client al server (put) usando una connessione. In particolare nel servizio: il client

Dettagli

Programmazione in Java e gestione della grafica. Lezione 24

Programmazione in Java e gestione della grafica. Lezione 24 Programmazione in Java e gestione della grafica Lezione 24 2 Parliamo di. Files and Streams 3 Files e streams I dati memorizzati in variabili e array sono dati temporanei File si usano per conservare grosse

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori A.A. 2009/2010

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori A.A. 2009/2010 Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori l Introduzione ai Thread in Java A.A. 2009/2010 1 Thread Un thread è un flusso sequenziale di esecuzione di istruzioni all interno

Dettagli

LPR A 2005/2006 Lezione 5. Riepilogo Caratteristiche Datagram Socket Stream Mode Socket API Sockets Lato Client Sockets Lato Server Esempi

LPR A 2005/2006 Lezione 5. Riepilogo Caratteristiche Datagram Socket Stream Mode Socket API Sockets Lato Client Sockets Lato Server Esempi LPR A 2005/2006 Lezione 5 Riepilogo Caratteristiche Datagram Socket Stream Mode Socket API Sockets Lato Client Sockets Lato Server Esempi DATAGRAM SOCKET API: RIASSUNTO DELLE PUNTATE PRECEDENTI un Datagram

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I {

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I { Interfacce Una interfaccia è un astrazione per un insieme di funzioni pubbliche delle quali si definisce solo la segnatura, e non le istruzioni. Un interfaccia viene poi implementata da una o più classi

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Automazione di test. Si presuppone la conoscenza del documento XML.pdf. Un package per i test automatizzati

Automazione di test. Si presuppone la conoscenza del documento XML.pdf. Un package per i test automatizzati Automazione di test Si presuppone la conoscenza del documento XML.pdf. Un package per i test automatizzati Il package test (fornito completo nel file test.zip) permette di automatizzare una serie di test.

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario API di Java Istruzione di scrittura Istruzione di lettura 21/03/2011 2 API di Java Java è un linguaggio orientato agli oggetti basato

Dettagli

La Serializzazione in Java. L24_Serialization 1

La Serializzazione in Java. L24_Serialization 1 La Serializzazione in Java L24_Serialization 1 La Serialization è la trasformazione di un oggetto in memoria in una sequenza di byte (ospitata in un file, trasmessa in rete, ecc). La Deserialization è

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea

Dettagli

Concetto di file Metodi d accesso Struttura della directory Montaggio di un file system Condivisione di file Protezione

Concetto di file Metodi d accesso Struttura della directory Montaggio di un file system Condivisione di file Protezione Capitolo 10: Interfaccia del file system Capitolo 10: Interfaccia del file system Concetto di file Metodi d accesso Struttura della directory Montaggio di un file system Condivisione di file Protezione

Dettagli

789:;<:' .&+/"0&12%34%5&66+,("%3787%% %"+&%88$77%9%8:$:7%% ;<'&12%8%=,+>"%3787 % % % %"+&%88$77%9%8:$:7%

789:;<:' .&+/0&12%34%5&66+,(%3787%% %+&%88$77%9%8:$:7%% ;<'&12%8%=,+>%3787 % % % %+&%88$77%9%8:$:7% !"#$"%&'()')*+'!"#$%!&'()%*&++,+&-%%!"#$%&'"(()("*+,#$'"&$-. 789:;"%3787 % % % %"+&%88$77%9%8:$:7%?("'(%)"'"%'&0% 0,6"+,@"+("%1(%A'5"+=,B/,%C+,'1&$%

Dettagli

Java I/O. Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi.

Java I/O. Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi. Java I/O Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi fanizzi@di.uniba.it Introduzione Spesso un programma deve acquisire dati da una sorgente o inviare

Dettagli

Laboratorio di Sistemi Operativi Marzo-Giugno 2008 Matricole congrue 0 mod 3

Laboratorio di Sistemi Operativi Marzo-Giugno 2008 Matricole congrue 0 mod 3 Marzo-Giugno 2008 Matricole congrue 0 mod 3 IPC: pipe e FIFO (1) Forme di comunicazione tra processi La comunicazione tra processi può avvenire: Passando dei files aperti tramite fork Attraverso il filesystem

Dettagli

Laboratorio di Sistemi Operativi primavera 2009

Laboratorio di Sistemi Operativi primavera 2009 primavera 2009 Forme di comunicazione tra processi La comunicazione tra processi può avvenire: Le pipe Passando dei files aperti tramite fork Attraverso il filesystem Utilizzando le pipes Utilizzando le

Dettagli

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

RETI DI CALCOLATORI Linguaggio Java: Eccezioni Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione

Dettagli

Interfaccia Comparable. Fondamenti di Informatica L-B Esercitazione n 5 Java: Comparable, Array. Come sfrutto Comparable?

Interfaccia Comparable. Fondamenti di Informatica L-B Esercitazione n 5 Java: Comparable, Array. Come sfrutto Comparable? Fondamenti di Informatica L-B Esercitazione n 5 Java: Comparable, Array A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Interfaccia Comparable class Contatore implements Comparable

Dettagli

Eccezioni Precisazioni e approfondimenti

Eccezioni Precisazioni e approfondimenti Eccezioni Precisazioni e approfondimenti Costruttore: il parametro String definisce il messaggio di errore associato all eccezione Metodi particolarmente significativi getmessage(): ritorna l istanza di

Dettagli