argomen> PACKAGE DI I/O Gli STREAM: conce0 di base STREAM di byte STREAM di cara8eri Ges9one di File (classe File) Serializzazione 02/11/14

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "argomen> PACKAGE DI I/O Gli STREAM: conce0 di base STREAM di byte STREAM di cara8eri Ges9one di File (classe File) Serializzazione 02/11/14"

Transcript

1 PACKAGE DI I/O argomen> Gli STREAM: conce0 di base STREAM di byte STREAM di cara8eri Ges9one di File (classe File) Serializzazione 1

2 base: gli stream I programmi in JAVA comunicano (cioè effe8uano operazioni di I/O) tramite gli STREAM. Uno STREAM è un astrazione di alto livello che produce o consuma informazioni: rappresenta una connessione ad un canale di comunicazione. Gli stream possono sia leggere da un canale di comunicazione che scrivere su tale canale: quindi si parla di stream di input e stream di output. conce@o base: gli stream Uno STREAM rappresenta quindi un estremità di un canale di comunicazione a un senso solo. Le classi di STREAM forniscono metodi per leggere da un canale o per scrivere su un canale. Quindi un output stream scrive dei da9 su un canale di comunicazione, mentre un input stream legge da9 da un canale di comunicazione. ATTENZIONE! Non esistono delle classi di stream che forniscano funzioni sia per leggere che per scrivere su un canale. Se si desidera sia leggere che scrivere su uno stesso canale di comunicazione si dovranno aprire due stream (uno di input e uno di output) collega9 allo stesso canale. 2

3 base: gli stream Gli STREAM si comportano in modo omogeneo, indipendentemente dal disposi9vo fisico con cui sono collega9 (da qui il di astrazione ad alto livello). Le stesse classi e gli stessi metodi di I/O posso essere applica9 a qualunque disposi9vo. Uno STREAM di input può essere u9lizzato per leggere da un file su disco, da tas9era o dalla rete; allo stesso modo uno STREAM di output può fare riferimento alla console (a video), a un file, o ancora ad una connessione di rete. L'approccio "a cipolla" conce@o base: l approccio alcuni >pi di stream rappresentano sorgen> di da> o disposi>vi di uscita [stream sorgente] file, connessioni di rete, array di byte,... stream sorgente stream incapsulante gli altri >pi di stream sono pensa> per "avvolgere" i preceden/ per aggiungere ulteriori funzionalità [stream incapsulante] 3

4 base: l approccio Così, è possibile configurare il canale di comunicazione con tu.e e sole le funzionalità che servono senza doverle replicare e reimplementare più volte. Massima flessibilità, minimo sforzo. stream sorgente stream destinazione stream incapsulante stream incapsulante stream di byte input da file FileInputStream è la classe derivata da InputStream che rappresenta il conce@o di sorgente di byte agganciata a un file Il nome del file da aprire è passato come parametro al costru8ore di FileInputStream In alterna9va si può passare al costru8ore un ogge@o File (o un FileDescriptor) costruito in precedenza FileInputStream file su disco 4

5 stream di byte input da file Per aprire un file binario in si crea un ogge8o di classe FileInputStream, specificando il nome del file all'a8o della creazione Per leggere dal file si usa poi il metodo read() che perme8e di leggere uno o più byte res>tuisce il byte le@o come intero fra 0 e 255 se lo stream è finito, res>tuisce - 1 se non ci sono byte, ma lo stream non è finito, rimane in a8esa dell'arrivo di un byte Poiché è possibile che le operazioni su stream falliscano per varie cause, tu8e le operazioni possono sollevare eccezioni. Necessità di u9lizzare blocchi try / catch input da file binario esempio import java.io.*; public class EsLeggiFile1 { public EsLeggiFile1(String filename) throws FileNotFoundException, IOException { FileInputStream is = new FileInputStream(filename); int x = is.read(); int n = 0; while (x >= 0) { System.out.print(" " + x); quando lo stream termina, read() restituisce -1 n++; x = is.read(); System.out.println("\nTotale byte: " + n); is.close();... 5

6 input da file binario esempio public static void main(string[] args) { try { EsLeggiFile1 oggetto = new EsLeggiFile1(args[0]); catch (FileNotFoundException ex) { System.out.println("File non trovato"); System.exit(1); catch(ioexception ex) { System.out.println("Errore di input"); System.exit(2); input da file binario esempio 6

7 stream di byte output su file FileOutputStream è la classe derivata da OutputStream che rappresenta il di disposi>vo di uscita agganciato a un file Il nome del file da aprire è passato come parametro al costru8ore di FileOutputStream In alterna9va si può passare al costru8ore un ogge@o File (o un FileDescriptor) costruito in precedenza FileOutputStream file su disco stream di byte output su file Per aprire un file binario in scri@ura si crea un ogge8o di classe FileOutputStream, specificando il nome del file all'a8o della creazione Un secondo parametro opzionale, di 9po boolean, perme8e di chiedere l'apertura in modo append Per scrivere sul file si usa il metodo write() che perme8e di scrivere uno o più byte scrive l'intero [0, 255] passatogli come parametro non res>tuisce nulla Poiché è possibile che le operazioni su stream falliscano per varie cause, tu8e le operazioni possono sollevare eccezioni. Necessità di u9lizzare blocchi try / catch 7

8 output su file binario - esempio import java.io.*; public class EsScriviFile1 { public EsScriviFile1(String filename) throws FileNotFoundException, IOException { FileOutputStream os = new FileOutputStream(filename);... for(int x=0; x<10; x+=3) { System.out.println("Scrittura di "+x); os.write(x); os.close(); Per aprirlo in modalità append: FileOutputStream(filename,true); output su file binario - esempio public static void main(string[] args) { try { EsScriviFile1 oggetto = new EsScriviFile1(args[0]); catch(filenotfoundexception e) { System.out.println("Impossibile aprire file"); System.exit(1); catch(ioexception ex) { System.out.println("Errore di output"); System.exit(2); 8

9 output su file binario - esempio Esperimenti Provare a rileggere il file con il programma precedente Aggiungere altri byte riaprendo il file in modo append stream di incapsulamento Gli STREAM di incapsulamento hanno come scopo quello di avvolgere un altro STREAM per creare un en9tà con funzionalità più evolute. InputStream Il loro costru8ore ha quindi come parametro un InputStream o un OutputStream già esistente. stream incapsulante OutputStream stream incapsulante 9

10 stream di incapsulamento - INPUT BufferedInputStream aggiunge un buffer e ridefinisce read() in modo da avere una le8ura bufferizzata DataInputStream definisce metodi per leggere i 9pi di da9 standard in forma binaria: readint(), readfloat(),... ObjectInputStream definisce un metodo per leggere ogge0 "serializza>" (salva9) da uno stream, offre anche metodi per leggere i 9pi primi9vi di Java stream di incapsulamento - OUTPUT BufferedOutputStream aggiunge un buffer e ridefinisce write() in modo da avere una scri8ura bufferizzata DataOutputStream definisce metodi per scrivere i 9pi di da9 standard in forma binaria: writeint(), writefloat()... PrintStream definisce metodi per stampare come stringa valori primi9vi ( es. (( print(object print(int)) e classi standard (es. ObjectOutputStream definisce un metodo per scrivere ogge0 serializza> ; offre anche metodi per scrivere i 9pi primi9vi di Java 10

11 esempio - OUTPUT Scri@ura di da> su file binario Per scrivere su un file binario occorre un FileOutputStream, che però consente solo di scrivere un byte o un array di byte Volendo scrivere dei float, int, double, boolean, è molto più pra>co un DataOutputStream, che ha metodi idonei Si incapsula FileOutputStream dentro un DataOutputStream FileOutputStream DataOutputStream esempio - OUTPUT import java.io.*; public class EsScriviFile2 { public EsScriviFile2(String filename) throws FileNotFoundException, IOException { FileOutputStream fos=new FileOutputStream(filename); DataOutputStream dos=new DataOutputStream(fos); float f = F; char c = 'X'; boolean b = true; double d = ; int i = 12; dos.writefloat(f); dos.writechar(c); dos.writeboolean(b); dos.writedouble(d); dos.writeint(i); dos.close();... 11

12 esempio - OUTPUT public static void main(string[] args) { try { EsScriviFile2 oggetto = new EsScriviFile2(args[0]); catch(filenotfoundexception e) { System.out.println("Impossibile aprire file"); System.exit(1); catch(ioexception ex) { System.out.println("Errore di output"); System.exit(2); Le8ura di da9 da file binario esempio - INPUT Per leggere da un file binario occorre un FileInputStream, che però consente solo di leggere un byte o un array di byte Volendo leggere dei float, int, double, boolean, è molto più pra>co un DataInputStream, che ha metodi idonei Si incapsula FileInputStream dentro un DataInputStream FileInputStream DataInputStream 12

13 esempio - INPUT import java.io.*; public class EsLeggiFile2 { public EsLeggiFile2(String filename) throws FileNotFoundException, IOException {... FileInputStream fis = new FileInputStream(filename); DataInputStream dis = new DataInputStream(fis); float f = dis.readfloat(); char c = dis.readchar(); boolean b = dis.readboolean(); double d = dis.readdouble(); int i = dis.readint(); System.out.println("Ho letto:"+f+" "+c+" "+b+" "+d+" "+i); dis.close(); esempio - INPUT public static void main(string[] args) { try { EsLeggiFile2 oggetto = new EsLeggiFile2(args[0]); catch(filenotfoundexception e) { System.out.println("Impossibile aprire file"); System.exit(1); catch(ioexception ex) { System.out.println("Errore di output"); System.exit(2); 13

14 esempio input/output - risultato stream di cara@eri Le classi per l I/O da stream di cara8eri (Reader e Writer) sono più efficien8 di quelle a byte. Hanno nomi analoghi e stru8ura analoga Convertono corre8amente la codifica UNICODE di Java in quella locale specifica della pia8aforma in uso (9picamente ASCII)......e della lingua in uso (essenziale per l internazionalizzazione). 14

15 stream di Cosa cambia agli stream binari? Un file di testo si apre costruendo un ogge8o FileReader o FileWriter, rispe0vamente read() e write() leggono/scrivono un int che rappresenta un cara8ere UNICODE Un cara@ere UNICODE è lungo 2 byte. read() res9tuisce un valore tra 0 e oppure - 1 in caso di fine stream Occorre dunque un cast esplicito per conver9re il cara8ere UNICODE in int e viceversa. input da file di testo - esempio import java.io.*; public class EsLeggiFileTesto { public EsLeggiFileTesto(String filename) throws IOException { FileReader fr = new FileReader(filename); int n = 0; int x = fr.read(); while (x >= 0) { Cast esplicito da int a char char ch = (char) x; - Ma solo se è stato davvero System.out.print(ch); letto un carattere (cioè se n++; ( 1 - non è stato letto x = fr.read(); System.out.println("\nTotale caratteri: " + n); fr.close();... 15

16 input da file di testo - esempio public static void main(string[] args) { try { EsLeggiFileTesto oggetto = new EsLeggiFileTesto(args[0]); catch(ioexception ex) { System.out.println("Errore di I/O."); System.exit(1); stream di incapsulamento Le operazioni di I/O con cara8eri in genere coinvolgono tan9 cara8eri alla volta. In genere l unità di base per lavorare con i cara8eri è la LINEA: una stringa di cara8eri con un terminatore di linea alla fine (in win \r\n carriage- return/line- feed). Anche nel caso degli stream di cara8eri, possiamo u9lizzare gli stream di incapsulamento, che estendono le funzionalità dei Reader e Writer fornendo metodi idonei al tra8amento delle linee di testo. 16

17 stream di incapsulamento - INPUT BufferedReader le8ura bufferizzata Fornisce i metodi: readline() res9tuisce una stringa contenente il testo presente nella linea escluso il terminatore null se si raggiunge la fine dello stream read() (singolo cara8ere e array di cara8eri) Si incapsula FileReader dentro un BufferedReader FileReader BufferedReader stream di incapsulamento - OUTPUT PrintWriter scri8ura forma8ata Fornisce i metodi per scrivere i 9pi primi9vi e non, su uno stream di testo. Ad esempio: print(boolean b), print(double d), print(string s) O la loro versione con il terminatore: println(boolean b), println(double d), println(string s) Si incapsula FileWriter dentro un PrintWriter FileWriter PrintWriter 17

18 classe File La classe File fornisce l accesso a file e directory in modo indipendente dal sistema opera9vo. Me8e a disposizione una serie di metodi per o8enere informazioni su un certo file o directory, e per visualizzare e modificarne gli a8ribu9. A proposito di indipendenza Ogni sistema opera9vo u9lizza convenzioni diverse per separare le varie directory in un path. Esempio: in Linux /, in Windows \ ; Costru8ore: public File(String path) classe File metodi u>li () getname public String res9tuisce il nome dell ogge8o () getabsolutepath public String res9tuisce il percorso assoluto dell ogge8o () exist public boolean res9tuisce vero se l ogge8o File esiste () isdirectory public boolean res9tuisce vero se l oggeto File è una direcotry () length public long res9tuisce la lunghezza in byte dell ogge8o ( dest public boolean renameto(file rinomina l ogge8o () delete public boolean cancella l ogge8o File () mkdir public boolean crea una directory che corrisponde all ogge8o File () list public String[] res9tuisce un ve8ore contenente il nome di tu0 file della directory associata all ogge8o File 18

19 classe RandomAccessFile Consente l accesso in modo RANDOM (cioè non sequenziale) ai file. Consente l accesso ad un file contemporaneamente in scri8ura e il le8ura. Implementa le interfacce DataInput e DataOutput, rendendo possibile la scri8ura in file di tu0 gli ogge0 e i 9pi primi9vi. Costru8ori: public RandomAccessFile(String file, String mode) public RandomAccessFile(File file, String mode) Il parametro mode è di 9po String e specifica la modalità di accesso al file: "r" oppure "rw" Oltre ai metodi read/write, offre i metodi: long getfilepointer(), seek(long pos), skipbytes(int pos) serializzazione di oggef Serializzare un ogge@o significa salvare un ogge8o scrivendo una sua rappresentazione binaria su uno stream di byte Analogamente, deserializzare un ogge@o significa ricostruire un ogge8o a par9re dalla sua rappresentazione binaria le8a da uno stream di byte Le classi ObjectOutputStream e ObjectInputStream offrono questa funzionalità per qualunque 9po di ogge8o. 19

20 Le due classi principali sono: ObjectInputStream serializzazione di oggef legge oggef serializza9 salva9 su stream, tramite il metodo readobject() offre anche metodi per leggere i 9pi primi9vi di Java ObjectOutputStream scrive un ogge@o serializzato su stream, tramite il metodo writeobject() offre anche metodi per scrivere i 9pi primi9vi di Java serializzazione di oggef Una classe che voglia essere serializzabile deve implementare l interfaccia Serializable È una interfaccia vuota, che serve come marcatore (il compilatore rifiuta di compilare una classe che usa la serializzazione senza implementare tale interfaccia) Vengono scrif / lef tuf i da> non sta>c e non transient dell ogge@o, inclusi quelli eredita> (anche se priva9 o prote0) 20

21 serializzazione di oggef Se un ogge8o con>ene riferimen> ad altri oggef, si invoca ricorsivamente writeobject()su ognuno di essi si serializza quindi, in generale, un intero grafo di ogge0 l'opposto accade quando si deserializza Se uno stesso ogge8o è referenziato più volte nel grafo, viene serializzato una sola volta, affinché writeobject() non cada in una ricorsione infinita. esempio - serializzazione ESEMPIO di classe serializzabile public class PuntoCartesiano implements java.io.serializable { private int x; private int y; public PuntoCartesiano(int x, int y) { this.x = x; this.y = y; public PuntoCartesiano() { x = y = 0; public float getascissa() { return x; public float getordinata() { return y; 21

22 esempio - serializzazione import java.io.*; SCRITTURA SU FILE public class ScriviPunto { public ScriviPunto(String filename) throws IOException { PuntoCartesiano point = new PuntoCartesiano(3, 10); FileOutputStream fos = new FileOutputStream(filename); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeobject(point); oos.flush(); oos.close(); esempio - serializzazione SCRITTURA SU FILE public static void main(string[] args) { try { ScriviPunto sp = new ScriviPunto(args[0]); catch(ioexception ex) { System.out.println("Errore di I/O."); System.exit(1); 22

23 esempio - serializzazione import java.io.*; LETTURA DA FILE public class LeggiPunto { public LeggiPunto(String filename) throws IOException, ClassNotFoundException { FileInputStream fis = new FileInputStream(filename); ObjectInputStream ois = new ObjectInputStream(fis); PuntoCartesiano point = (PuntoCartesiano)ois.readObject(); ois.close(); System.out.println("Punto (" + point.getascissa() + ", " + point.getordinata() + ")"); Il cast è necessario, perché readobject() restituisce un Object esempio - serializzazione LETTURA DA FILE public static void main(string[] args) { try { LeggiPunto lp = new LeggiPunto(args[0]); catch(ioexception ex) { System.out.println("Errore I/O: " + ex.getmessage()); System.exit(1); catch(classnotfoundexception ex) { System.out.println("Errore: " + ex.getmessage()); System.exit(2); 23

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

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

RETI DI CALCOLATORI Linguaggio Java: Il Package di Input Output

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

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

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

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File 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

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

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

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

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

JAVA INTRODUZIONE C++ JDK e JRE API IDE (BLUEJ) JAVA Introduzione. Versioni e IDE DIAPOSITIVA 2 ALESSANDRO URSOMANDO

JAVA INTRODUZIONE C++ JDK e JRE API IDE (BLUEJ) JAVA Introduzione. Versioni e IDE DIAPOSITIVA 2 ALESSANDRO URSOMANDO JAVA JAVA Introduzione INTRODUZIONE C++ JDK e JRE API IDE (BLUEJ) Cross Platform Web Dinamico Versioni e IDE DIAPOSITIVA 2 1 JAVA La programmazione orientata agli oggetti JAVA La programmazione OOP Nascita

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

Architettura Client-Server

Architettura Client-Server Architettura Client-Server 1. il client manda una richiesta al server 2. il server (in attesa) riceve la richiesta 3. il server esegue il servizio richiesto (generando un thread concorrente) 4. il server

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

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

10.4. La classe File e gli attributi di directory e file

10.4. La classe File e gli attributi di directory e file pag.143 10.4. La classe File e gli attributi di directory e file Questa classe, molto utile per operare con i file su disco, consente di accedere alle directory, verificare e acquisire le caratteristiche

Dettagli

File, flussi e pacchetto java.io

File, flussi e pacchetto java.io File, flussi e pacchetto java.io Formato binario e formato di testo I dati sono memorizzati nei files in due formati: testo (successione di caratteri) binario (successione di bytes) Ad es. numero 12345

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

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

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

Java e Serializzazione dalla A all'xml di Leonardo Puleggi

Java e Serializzazione dalla A all'xml di Leonardo Puleggi dalla A all'xml di Leonardo Puleggi Indice generale Introduzione2 Grafo di Riferimenti 4 Attributi Transient.. 6 Metodi writeobject e readobject... 7 Ereditarietà e Serializzazione...10 Serializzazione

Dettagli

Programmazione 2. Input Output su Stream e File

Programmazione 2. Input Output su Stream e File Programmazione 2 Input Output su Stream e File Stream In generale ogni programma ha un flusso (stream) di dati in input ed uno in output. Stream di input Stream di output Input/Output in Java Il package

Dettagli

LabVIEW parte II. Ing. Gianfranco Miele November 3, 2010

LabVIEW parte II. Ing. Gianfranco Miele  November 3, 2010 Ing. Gianfranco Miele (g.miele@unicas.it) http://www.docente.unicas.it/gianfranco_miele November 3, 2010 Le stringhe Una stringa è una sequenza di caratteri Ogni carattere ha una corrispondente codifica

Dettagli

Input e Output in Java

Input e Output in Java Input e Output in Java Stream Redirecting Scomposizione dell input Uso di file Set di caratteri 1 Inserimento dati e test Riconsideriamo la versione iniziale della classe DataSet usata per illustrare le

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

Corso di Reti di Calcolatori L-A

Corso di Reti di Calcolatori L-A Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 2 (svolta) Socket Java con connessione Luca Foschini Anno accademico 2009/2010 Esercitazione 2 1 Architettura

Dettagli

C. Horstmann Fondamenti di programmazione e Java 2 3^ edizione Apogeo

C. Horstmann Fondamenti di programmazione e Java 2 3^ edizione Apogeo File e Flussi C. Horstmann Fondamenti di programmazione e Java 2 3^ edizione Apogeo trad. Nicola Fanizzi corso di Programmazione, CdS: Informatica TPS Dip. di Informatica, Università degli studi di Bari

Dettagli

ProgrammazioneJava. Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila. diruscio@di.univaq.it

ProgrammazioneJava. Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila. diruscio@di.univaq.it ProgrammazioneJava Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Dimensioni nella gestione dell I/O 2 2 Formato dei dati Audio/Video MPEG, DiVX

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

Operazioni di scrittura e lettura con periferici in linguaggio Java

Operazioni di scrittura e lettura con periferici in linguaggio Java Operazioni di scrittura e lettura con periferici in linguaggio Java Flussi logici (stream) di output Operazione di scrittura a monitor con uso di stream (flusso logico) di output RAM System.out.println

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

La gestione di file e flussi in Java: note introduttive

La gestione di file e flussi in Java: note introduttive Università degli Studi di Palermo Facoltà di Ingegneria La gestione di file e flussi in Java: note introduttive Edoardo Ardizzone & Riccardo Rizzo Appunti per il corso di Fondamenti di Informatica A.A.

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

Uso di metodi statici. Walter Didimo

Uso di metodi statici. Walter Didimo Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

FILE BINARI FILE BINARI

FILE BINARI FILE BINARI FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di

Dettagli

Laboratorio di reti I: Java IO

Laboratorio di reti I: Java IO Laboratorio di reti I: Java IO Stefano Brocchi brocchi@dsi.unifi.it 15 ottobre, 2008 Stefano Brocchi Laboratorio di reti I: Java IO 15 ottobre, 2008 1 / 28 Gli InputStream e gli OutputStream Gli stream

Dettagli

Corso Android New Edition Corso Online Programmatore Android New Edition

Corso Android New Edition Corso Online Programmatore Android New Edition Corso Android New Edition Corso Online Programmatore Android New Edition Accademia Domani Via Pietro Blaserna, 101-00146 ROMA (RM) info@accademiadomani.it Programma Generale del Corso di Programmatore

Dettagli

Sviluppo Applicazioni Mobile Lezione 13. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 13. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 13 + Credits I lucidi di questa lezione sono stati preparati da: Professor Stefano Mizzaro Professor Paolo Coppola e sono stati modificati e completati dal Dr. Paolo

Dettagli

Gestione delle Eccezioni

Gestione delle Eccezioni Gestione delle Eccezioni Condizioni di Errore Una condizione di errore in un programma può avere molte cause Errori di programmazione Divisione per zero, cast non permesso, accesso oltre i limiti di un

Dettagli

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.

L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,

Dettagli

Cifratura simmetrica

Cifratura simmetrica Cifratura Cifratura simmetrica Alice canale insicuro Bob 2 Cifratura simmetrica m Algoritmo di decifratura m Alice canale insicuro Algoritmo di cifratura Bob 3 Cifrari simmetrici chiave privata k chiave

Dettagli

Definizione di metodi

Definizione di metodi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti

Dettagli

Java RMI (Remote Method Invocation)

Java RMI (Remote Method Invocation) Java RMI (Remote Method Invocation) Accesso ad oggetti remoti In Java non sono possibili riferimenti remoti RPC in JAVA Le RMI introducono la possibilità di richiedere esecuzione di metodi remoti in JAVA

Dettagli

Restrizioni per la sicurezza

Restrizioni per la sicurezza Applets Applet = programma Java che può essere invocato all interno di un file.html ed eseguito da un browser web, es. C:\Files> explorer MioFile.html un appletviewer, es. C:\Files> appletviewer MioFile.html

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2)

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2) Gestione di errori e situazioni eccezionali Gestione delle eccezioni Una procedura (utente o di libreria) deve poter segnalare l impossibilità di produrre un risultato significativo o la propria terminazione

Dettagli

Scritto da Enrico Battuello Giovedì 25 Novembre 2010 21:11 - Ultimo aggiornamento Venerdì 07 Gennaio 2011 23:50

Scritto da Enrico Battuello Giovedì 25 Novembre 2010 21:11 - Ultimo aggiornamento Venerdì 07 Gennaio 2011 23:50 Nell'informatica e in particolare nell'ambito del salvataggio e della trasmissione dei dati, la serializzazione è il processo mediante il quale è possibile convertire una struttura dati e/o un insieme

Dettagli

R. Focardi 2002 Laboratorio di Ingegneria del Software Slide 1. Applicazioni = programmi stand-alone

R. Focardi 2002 Laboratorio di Ingegneria del Software Slide 1. Applicazioni = programmi stand-alone Il linguaggio Java Nato nel maggio 95 (James Gosling & al.) Orientato ad oggetti, basato sulle classi, concorrente Fortemente tipato: distinzione chiara tra errori statici ed errori dinamici Ad alto livello:

Dettagli

Capitolo 13 Java IO. Software per TLC - AA 2008/2009 1

Capitolo 13 Java IO. Software per TLC - AA 2008/2009 1 Capitolo 13 Java IO Software per TLC - AA 2008/2009 1 Un problema OO Vogliamo aggiungere ad una ClasseBase, delle responsabilità di pari dignità I metodi r1, r2, r3, e r4 Potrebbe però servire anche creare

Dettagli

Uno stream o flusso di dati o canale è un percorso di comunicazione tra la sorgente di una certa informazione e la sua destinazione.

Uno stream o flusso di dati o canale è un percorso di comunicazione tra la sorgente di una certa informazione e la sua destinazione. pag.112 9. Input e output Nell informatica classica il concetto di input e output era strettamente legato all uso dei dispositivi esterni di memorizzazione (dischi, nastri) e quindi al concetto di file,

Dettagli

ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete

ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete Compito in classe proposto Realizzare un applicazione C/S per trasferire al Client il contenuto

Dettagli

Laboratorio di Elementi di Bioinformatica

Laboratorio di Elementi di Bioinformatica Laboratorio di Elementi di Bioinformatica Laurea Triennale in Informatica (codice: E3101Q116) AA 2015/2016 I/O su file Docente del laboratorio: Raffaella Rizzi 1 Standard input e output gets: legge una

Dettagli

Corso di Reti di Calcolatori. java.net.url

Corso di Reti di Calcolatori. java.net.url Corso di Reti di Calcolatori UNICAL Facoltà di Ingegneria a.a. 2002/2003 Esercitazione sul networking in Java (2 a parte) paolo.trunfio@deis.unical.it 1 java.net.url URL (String spec) crea un oggetto URL

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Laboratorio di Informatica Lezione 4

Laboratorio di Informatica Lezione 4 Laboratorio di Informatica Lezione 4 Cristian Consonni 28 ottobre 2015 Cristian Consonni Laboratorio di Informatica, Lezione 4 1 / 42 Outline 1 Canali standard 2 Input da tastiera 3 Output 4 Esercizi (parte

Dettagli

Libreria standard JAVA

Libreria standard JAVA JDK Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it www.dii.unisi.it/~rigutini/ JDK Libreria standard

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata.

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata. Chat Si ha un server in ascolto sulla porta 4444 Quando un client richiede la connessione, il server risponde con: Connessione accettata. Nome: Il client deve rispondere con lo user name A questo punto

Dettagli

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno. Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere

Dettagli

Esercizio 1: archivio CD e DVD

Esercizio 1: archivio CD e DVD Esercizio 1: archivio CD e DVD Realizzare un applicazione Java per la creazione e la consultazione di un archivio di dischi ottici (CD e DVD). L applicazione riceve da standard input in maniera interattiva

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Sviluppo Web Autore: Alessio Bernardo Revisione: 1 Data: 23/05/13 Titolo: Sviluppo piattaforma e-learning e sviluppo siti web File: Documentazione tecnica Sito:

Dettagli

Eccezioni 1 CASO: SENTIRE E GESTIRE UN ALLARME. Prof. Enrico Denti Università di Bologna A.A. 2012/2013 1 SITUAZIONI CRITICHE IL CONCETTO DI ECCEZIONE

Eccezioni 1 CASO: SENTIRE E GESTIRE UN ALLARME. Prof. Enrico Denti Università di Bologna A.A. 2012/2013 1 SITUAZIONI CRITICHE IL CONCETTO DI ECCEZIONE Università degli Studi di Bologna Scuola di Ingegneria e Architettura Eccezioni Corso di Laurea in Ingegneria Informatica Anno accademico 2012/2013 Prof. ENRICO DENTI Dipartimento di Informatica Scienza

Dettagli

Esercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008

Esercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008 Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 6 Corso di Tecniche di programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo. Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40

Dettagli

Gestione dei file. Linguaggio ANSI C Input/Output - 13

Gestione dei file. Linguaggio ANSI C Input/Output - 13 Gestione dei file Necessità di persistenza dei file archiviare i file su memoria di massa. Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni

Dettagli

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Http con java, URL Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

Dettagli

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it Java Remote Method Invocation -- RMI G. Prencipe prencipe@di.unipi.it RMI RMI è una tecnologia JAVA che permette a una JVM di comunicare con un altra JVM per farle eseguire metodi È possibile che oggetti

Dettagli

Input / Output attraverso stream. I/O in C vs. I/O in C++

Input / Output attraverso stream. I/O in C vs. I/O in C++ Alessio Bechini - Corso di - Input / Output attraverso stream (anno accademico 2002-2003) Utilizzo di stream per I/O I/O in C vs. I/O in C++ La libreria C standard per l I/O viene acceduta con stdio.h

Dettagli

JAVA E LA RETE IL CONCETTO DI SOCKET. RETI DI CALCOLATORI Linguaggio Java: La Programmazione di Rete. già pronta!! COMUNICAZIONE VIA SOCKET CORSO DI

JAVA E LA RETE IL CONCETTO DI SOCKET. RETI DI CALCOLATORI Linguaggio Java: La Programmazione di Rete. già pronta!! COMUNICAZIONE VIA SOCKET CORSO DI Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia JAVA E LA RETE CORSO DI RETI DI CALCOLATORI Linguaggio Java: La Programmazione di Rete Prof. Franco Zambonelli Lucidi

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel

Dettagli

Lezione 11 Accesso al file system

Lezione 11 Accesso al file system A cura di Carlo Pelliccia Qualunque applicazione Android può leggere e scrivere file dalla memoria interna del telefono o da una scheda esterna inserita nel dispositivo. I principi da osservare per compiere

Dettagli

C# I FILES. Ad esempio, se volessimo memorizzare le seguenti informazioni relative ad una persona: Nome Telefono Indirizzo

C# I FILES. Ad esempio, se volessimo memorizzare le seguenti informazioni relative ad una persona: Nome Telefono Indirizzo C# I FILES Durante il normale sviluppo di applicazioni può succedere di dover memorizzare i dati inseriti dall utente nel corso dell esecuzione del programma. C# offre numerose possibilità per memorizzare

Dettagli

Lettura e scrittura di file di dati input/output

Lettura e scrittura di file di dati input/output Lettura e scrittura di file di dati input/output Lettura e scrittura da disco Molto semplice in C++: si fa esattamente come se fosse una tastiera (se sto leggendo da disco) o lo schermo (se sto scrivendo

Dettagli

Modificatori. Controllo di visibilità

Modificatori. Controllo di visibilità Modificatori I modificatori (modifiers) sono prefissi da applicare in diverse combinazioni a metodi, variabili ed alle classi stesse. L ordine in cui specificare i modificatori è irrilevante, ma è consigliato

Dettagli

Introduzione al C. Stream e disk file

Introduzione al C. Stream e disk file Introduzione al C Stream e disk file Stream Un canale è una sequenza di byte di dati Sorgente o destinazione di dati che possono essere associati ad un disco o ad altre periferiche Due tipi di stream:

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP (VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP D /LQH&OLHQWH6HUYHU Sviluppare un applicazione C/S in cui: i inviano al server pacchetti (vuoti) che vengono interpretati dal server come richiesta

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

LPR A 2005/2006 Lezione 4

LPR A 2005/2006 Lezione 4 LPR A 2005/2006 Lezione 4 JAVA invio invio streams di dati di tipo primitivo su socket UDP di oggetti il paradigma di programmazione client/server JAVA: IL CONCETTO DI STREAM, Studiare capitolo 4 Java

Dettagli

20/12/2010. Package java.net (Socket ServerSocket) Package java.rmi (uso di oggetti remoti)

20/12/2010. Package java.net (Socket ServerSocket) Package java.rmi (uso di oggetti remoti) Package java.net (Socket ServerSocket) Package java.rmi (uso di oggetti remoti) La classe URL cattura il concetto di indirizzo Internet (URL) nella forma standard: http://localhost/index.html file:///autoexec.bat

Dettagli

Architettura degli elaboratori Docente:

Architettura degli elaboratori Docente: Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File

Dettagli

Oggetti e classi. Cos è un oggetto

Oggetti e classi. Cos è un oggetto Oggetti e classi Cos è un oggetto Basta guardarsi intorno per scoprire che il mondo reale è costituito da oggetti: libri, biciclette, giocattoli, ma anche ragazzi, bambini, fiori, gatti, cani, fiumi, montagne,

Dettagli

Lezione n.2b. Threads: Callable & Future. 6/10/2008 Vincenzo Gervasi

Lezione n.2b. Threads: Callable & Future. 6/10/2008 Vincenzo Gervasi Università degli Studi di Pisa Dipartimento di Informatica Lezione n.2b LPR-A-09 Threads: Callable & Future 6/10/2008 Vincenzo Gervasi Lezione U 2b: Callable & Future Vincenzo Gervasi 1 CALLABLE E FUTURE

Dettagli

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) (RMI) Remote Method Invocation (RMI) in Java. Walter Cazzola Dipartimento di Informatica e Comunicazione Università à degli Studi di Milano. e-mail: cazzola@disi disi.unige.it Walter Cazzola Java: Remote

Dettagli

OOP: L13: Eccezioni e loro trattamento in Java

OOP: L13: Eccezioni e loro trattamento in Java Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica A. Acc. 2005/2006 Programmazione Orientata agli Oggetti OOP: L13: Eccezioni e loro trattamento

Dettagli

Java Native Interface Appunti

Java Native Interface Appunti Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per

Dettagli

Programmazione Java: Variabili membro, Metodi La parola chiave final

Programmazione Java: Variabili membro, Metodi La parola chiave final Programmazione Java: Variabili membro, Metodi La parola chiave final romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave

Dettagli

Corso di Laurea in Informatica e Comunicazione Digitale. a.a. 2006-2007. Interazione Uomo-Macchina. Introduzione a Java.

Corso di Laurea in Informatica e Comunicazione Digitale. a.a. 2006-2007. Interazione Uomo-Macchina. Introduzione a Java. Corso di Laurea in Informatica e Comunicazione Digitale a.a. 2006-2007 Interazione Uomo-Macchina Introduzione a Java Seconda Parte Irene Mazzotta Giovanni Cozzolongo Vincenzo Silvetri 1 Richiami: Java

Dettagli

Esonero del corso di Programmazione a Oggetti

Esonero del corso di Programmazione a Oggetti Esonero del corso di Programmazione a Oggetti Roma, 1 dicembre 2005 Considerate le seguenti definizioni di classi e interfacce in Java: interface Fumetto{ void esclama(); void utile(); class Personaggio

Dettagli

Corso Online. We Train Italy info@wetrainitaly.it

Corso Online. We Train Italy info@wetrainitaly.it Corso Online Programmatore Java New Edition We Train Italy info@wetrainitaly.it Programma Generale del Corso Programmatore Java New Edition 1. Introduzione al corso Java da 0 al web Presentazione del corso

Dettagli

Programmazione Java (Applicazioni e Applet )

Programmazione Java (Applicazioni e Applet ) Programmazione Java (Applicazioni e Applet ) Prof. Flavio Cerini Dopo aver installato il JDK 1.4.1_01 e inserito il percorso della cartella \bin nel PATH si possono provare i seguenti programmi funzionanti.

Dettagli

Mirko Mariotti. March 9, 2009

Mirko Mariotti. March 9, 2009 Linux: Dipartimento di Fisica - Università degli studi di Perugia March 9, 2009 Il comando che è bene imparare da subito è man, che ci permette di visualizzare il manuale in linea per un determinato altro

Dettagli

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_09010 - Stefano Millozzi

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_09010 - Stefano Millozzi Connessioni di rete Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi 1 Socket orientato alla connessione o non orientato alla connessione 2 Socket in astratto 3 Socket modalità

Dettagli

Finestra.java. static String nomicolonne[] = {"ind.","cognome","nome","telefono","e-mail"}; //nomi delle colonne della tabella

Finestra.java. static String nomicolonne[] = {ind.,cognome,nome,telefono,e-mail}; //nomi delle colonne della tabella import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowevent; import java.awt.event.windowlistener; import java.io.*; import java.util.*;

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli