Java I/O e serializzazione
|
|
- Franco Nicoletti
- 6 anni fa
- Visualizzazioni
Transcript
1 Java I/O e serializzazione
2 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 in termini di byte o caratteri.
3 Classe InputStream Viene ereditata da tutte le classi che rappresentano uno stream in lettura. Fornisce i seguenti metodi: 1 int available(); //Optional 2 void close(); 3 int read(); 4 int read(byte[] b); 5 int read(byte[] b, int off, int len); 6 long skip(long n);
4 Classe OutputStream Viene ereditata da tutte le classi che rappresentano uno stream in scrittura. Fornisce i seguenti metodi: 1 void close(); 2 void flush(); 3 void write(int b); 4 void write(byte[] b); 5 void write(byte[] b, int off, int len);
5 Classi FileInputStream e FileOutputStream Implementano lettura e scrittura di file. Costruttori: 1 FileInputStream(File file); 2 FileInputStream(String name); 3 4 FileOutputStream(File file) 5 FileOutputStream(File file, boolean append); 6 FileOutputStream(String name); 7 FileOutputStream(String name, boolean append);
6 Classe ByteArrayInputStream Tratta un array di byte come un input. Costruttori: 1 ByteArrayInputStream(byte[] buf); //Creates a ByteArrayInputStream so that it uses buf as its buffer array. 2 ByteArrayInputStream(byte[] buf, int offset, int length); //Creates ByteArrayInputStream that uses buf as its buffer array.
7 Classe ByteArrayOutputStream Tratta un array di byte come un output. È possibile ottenere l array di byte contenente l output tramite: 1 byte[] tobytearray(); //Crea un array contentente l output scritto nello stream.
8 BufferedInputStream e BufferedOutputStream Queste classi aggiungono un buffer ad un InputStream/OutputStream dato. Inoltre BufferedInputStream aggiunge le funzionalità di mark e reset allo stream.
9 Classe DataInputStream Aggiunge funzionalità ad un input stream. Attenzione: i metodi operano in binario! Fornisce i seguenti metodi: 1 DataInputStream(InputStream in); 2 3 boolean readboolean(); 4 byte readbyte(); 5 char readchar(); 6 double readdouble(); 7 float readfloat(); 8 int readint(); 9 long readlong(); 10 short readshort(); 11 int readunsignedbyte(); 12 int readunsignedshort(); 13 String readutf(); 14 static String readutf(datainput in);
10 Classe DataOutputStream Aggiunge funzionalità ad un output stream. Attenzione: i metodi operano in binario! Fornisce i seguenti metodi: 1 DataOutputStream(OutputStream out); 2 3 void writeboolean(boolean v); 4 void writebyte(int v); 5 void writebytes(string s); 6 void writechar(int v); 7 void writechars(string s); 8 void writedouble(double v); 9 void writefloat(float v); 10 void writeint(int v); 11 void writelong(long v); 12 void writeshort(int v); 13 void writeutf(string str);
11 Reader e Writer Finora abbiamo operato direttamente su sequenze di byte. È possibile ragionare in termini di caratteri tramite le classi Reader e Writer. Tali classi rappresentano un input stream in termini di caratteri.
12 Classe Reader Viene ereditata da tutte le classi che rappresentano uno stream di caratteri in lettura. Fornisce i seguenti metodi: 1 void close(); //Closes the stream and releases any system resources associated with it. 2 int read(); //Reads a single character. 3 int read(char[] cbuf); //Reads characters into an array. 4 int read(char[] cbuf, int off, int len); //Reads characters into a portion of an array. 5 int read(charbuffer target); //Attempts to read characters into the specified character buffer. 6 boolean ready(); //Tells whether this stream is ready to be read. 7 void reset(); //Resets the stream. 8 long skip(long n); //Skips characters.
13 Classe Writer Viene ereditata da tutte le classi che rappresentano uno stream di caratteri in scrittura. Fornisce i seguenti metodi: 1 void close(); //Closes the stream, flushing it first. 2 void flush(); //Flushes the stream. 3 void write(char[] cbuf); //Writes an array of characters. 4 void write(char[] cbuf, int off, int len); //Writes a portion of an array of characters. 5 void write(int c); //Writes a single character. 6 void write(string str); //Writes a string. 7 void write(string str, int off, int len); //Writes a portion of a string.
14 Come passare da I/O su byte a I/O su caratteri? Le classi OutputStreamWriter e InputStreamReader fanno da ponte tra le due. Queste costruiscono un Reader/Writer partendo da un InputStrem/OutputStream. È possibile fornire la codifica da utilizzare, altrimenti verrà usata quella di default.
15 Classe Scanner Questa classe fornisce metodi utili per parsare un input. Fornisce i seguenti metodi: 1 String findinline(string pattern); 2 String findwithinhorizon(string pattern, int horizon); 3 boolean hasnext(); 4 String next(); 5 String next(string pattern); 6 boolean nextboolean(); 7 byte nextbyte(); 8 double nextdouble(); 9 float nextfloat(); 10 int nextint(); 11 String nextline(); 12 Scanner skip(string pattern); 13 Scanner usedelimiter(string pattern);
16 Classe PrintWriter Questa classe fornisce metodi utili per stampare un output testuale. Fornisce i seguenti metodi: 1 void print(boolean b); 2 void print(char c); 3 void print(char[] s); 4 void print(double d); 5 void print(float f); 6 void print(int i); 7 void print(long l); 8 void print(object obj); 9 void print(string s); 10 PrintWriter printf(locale l, String format, Object... args); 11 void println(); 12 void println(...); //Stessi metodi di print
17 Esercizio CSV Si implementi un lettore di file comma-separated values (CSV) Per semplicità si ipotizzi che i caratteri virgola e a capo non siano presenti all interno di alcun valore Fornisce i seguenti metodi: 1 public interface CSVReader { 2 3 public Map<String, String> getrow(int index);//ritorna una riga ( mappa tra i nomi del campo nell intestazione e il valore della riga) 4 5 public int size(); //Ritorna il numero di righe presenti 6 7 }
18 Esercizio magic number Si vuole identificare se un determinato file è un eseguibile ELF o meno Per semplicità si consideri solo il magic number presente all inizio
19 Serializzazione Permette di memorizzare, trasmettere via rete una struttura dati
20 Cosa può essere serializzato? Tipi primitivi, stringhe e istanze di classi serializzabili Riferimenti e classi che rappresentano risorse di sistema (Socket, File,... ) NON possono essere serializzate.
21 Riferimenti La serializzazione genera una rappresentazione dei dati copiando il contenuto degli oggetti, non i loro riferimenti! Con la deserializzazione otteniamo dei nuovi oggetti, diversi da quelli originali ma con lo stesso valore
22 Esempio di classe serializzabile 1 public class Person implements Serializable{ 2 3 private static final long serialversionuid = L; 4 5 private final String name; 6 7 private final Calendar birthday; 8 9 } Implementa Serializable Contiene solo tipi primitivi/oggetti serializzabili
23 serialversionuid Identifica la versione della classe serializzata Serve per controllare la compatibilità tra diverse versioni della stessa classe che potrebbero avere attributi diversi
24 Serializzazione Si effettua tramite il metodo writeobject della classe ObjectOutputStream Questo metodo serializza l oggetto passato come parametro e lo scrive su uno stream di uscita
25 Esempio di serializzazione 1 public static void main(string[] args) throws IOException, ClassNotFoundException { 2 Person person = new Person("Mario", new GregorianCalendar(1990, 11, 20)); 3 ByteArrayOutputStream os = new ByteArrayOutputStream(); 4 ObjectOutputStream out = new ObjectOutputStream(os); 5 out.writeobject(person); //Serializzo 6 }
26 Deserializzazione Si effettua tramite il metodo readobject della classe ObjectInputStream Questo metodo deserializza il primo oggetto presente nello stream di ingresso Attenzione: Oltre agli errori dovuti alla lettura dallo stream è possibile ottenere una ClassNotFoundException se la classe dell oggetto da deserializzare non viene trovata nel classpath.
27 Esempio completo di serializzazione 1 public static void main(string[] args) throws IOException, ClassNotFoundException { 2 Person person = new Person("Mario", new GregorianCalendar(1990, 11, 20)); 3 ByteArrayOutputStream os = new ByteArrayOutputStream(); 4 ObjectOutputStream out = new ObjectOutputStream(os); 5 out.writeobject(person); //Serializzo 6 7 ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); 8 ObjectInputStream in = new ObjectInputStream(is); 9 Person p = (Person)in.readObject(); //Deserializzo 10 }
28 Attributi transient È possibile specificare come transient attributi che non è possibile (o utile) serializzare Tali attributi vengono ignorati dalla serializzazione La deserializzazione (di default) non inizializza gli attributi transient, che assumono il valore null È però possibile modificare il metodo di deserializzazione ridefinendo readobject (analogamente posso ridefinire writeobject)
29 Esempio di attributi transient 1 public class Person implements Serializable{ 2 private static final long serialversionuid = L; 3 private final String name; 4 private final Calendar birthday; 5 private transient int age; 6 7 // Posso ridefinire come viene serializzato l oggetto sullo stream 8 private void writeobject(objectoutputstream out) throws IOException { 9 out.defaultwriteobject(); //Utilizzo il comportamento di default 10 } // Posso ridefinire come viene deserializzato l oggetto dallo stream 13 private void readobject(objectinputstream in) throws ClassNotFoundException, IOException{ 14 in.defaultreadobject(); //Utilizzo il comportamento di default 15 //Qui posso inizializzare eventuali attributi transient 16 age = computeage(); 17 } 18 }
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
Dettaglidomenica 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
DettagliI/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
DettagliLettura 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
DettagliCorso 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
DettagliIl 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
DettagliINPUT 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
DettagliInformatica. 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
DettagliJAVA - 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
DettagliLETTURA 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
DettagliJava 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
DettagliIndice. 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
DettagliLa 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
Dettagli02CBI - 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
DettagliA. 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
DettagliINPUT 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
DettagliProgrammazione 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
DettagliLe 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
DettagliLettura 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
DettagliPROVA FINALE Ingegneria del software
PROVA FINALE Ingegneria del software Jody Marca jody.marca@polimi.it Laboratorio N 2 Cosa faremo oggi 2 Javadocs Uso del debugger Input Output Serializzazione degli oggetti Javadoc 3 Javadoc è uno strumento
DettagliIl 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
DettagliA. 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
DettagliInput/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
DettagliLa 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 è
DettagliFondamenti 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
DettagliJav@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
Dettagli14 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
Dettagli20 - 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
Dettagli15 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:
Dettagliargomen> PACKAGE DI I/O Gli STREAM: conce0 di base STREAM di byte STREAM di cara8eri Ges9one di File (classe File) Serializzazione 02/11/14
PACKAGE DI I/O argomen> Gli STREAM: conce0 di base STREAM di byte STREAM di cara8eri Ges9one di File (classe File) Serializzazione 1 conce@o base: gli stream I programmi in JAVA comunicano (cioè effe8uano
DettagliAgent 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 è
DettagliLETTURA 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
DettagliInformatica 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
DettagliLaboratorio 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
DettagliIL PACKAGE java.io CONCETTO BASE: LO STREAM
IL PACKAGE java.io Il package java.io definisce i concetti base per gestire l'i/o da qualsiasi sorgente e verso qualsiasi destinazione. CONCETTO BASE: LO STREAM Uno stream è un canale di comunicazione
DettagliIntroduzione. 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
DettagliSerializzazione Java. Serializzazione. Calendario esercitazioni e laboratori. Applicazioni della Serializzazione
Calendario esercitazioni e laboratori 29 Marzo esercitazione 12 Aprile esercitazione 26 Aprile laboratorio (lab721) 2 Maggio laboratorio (lab721) 3 Maggio esercitazione 9 Maggio laboratorio (???) 17 Maggio
DettagliIL PACKAGE java.io. Il package java.io definisce i concetti base per gestire l'i/o da qualsiasi sorgente e verso qualsiasi destinazione.
IL PACKAGE java.io Il package java.io definisce i concetti base per gestire l'i/o da qualsiasi sorgente e verso qualsiasi destinazione. CONCETTO BASE: LO STREAM Uno stream è un canale di comunicazione
DettagliFile 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
DettagliSerializzazione Java. Serializzazione. Complicazioni 1/2. Complicazioni 2/2. Calendario esercitazioni e laboratori. Applicazioni della Serializzazione
Calendario esercitazioni e laboratori Martedì 17 Aprile Esercitazione Martedì 24 Aprile Esercitazione Giovedì 3 Maggio Laboratorio (lab721, 9.30-12.30) Giovedì 10 Maggio Laboratorio (lab721, 9.30-12.30)
DettagliUnità 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
DettagliGestione 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
Dettagli789:;<:' .&+/"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&$%
DettagliProgrammazione 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
DettagliInput/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
DettagliJava 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
DettagliIl package java.io definisce i concetti base per gestire l'i/o da qualsiasi sorgente e verso qualsiasi destinazione. CONCETTO BASE: LO STREAM
IL PACKAGE java.io Il package java.io definisce i concetti base per gestire l'i/o da qualsiasi sorgente e verso qualsiasi destinazione. CONCETTO BASE: LO STREAM Uno stream è un canale di comunicazione
DettagliRETI 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
DettagliSerializzazione. Programmazione in Ambienti Distribuiti A.A
Serializzazione Programmazione in Ambienti Distribuiti A.A. 2003-04 Messaggi La comunicazione tra due entità remote richiede la comprensione dei messaggi scambiati Occorre specificarne il formato: A livello
DettagliLezione n.5 LPR-Informatica Applicata 13/3/2006
Lezione n.5 LPR-Informatica Applicata 13/3/2006 1 LA CLASSE BYTEARRAYOUTPUTSTREAM Definisce una struttura dati protected byte buf [ ]; protected int count buf memorizza i bytes che vengono scaricati sullo
DettagliJava. Il package java.io
Java Il package java.io Flussi e canali I flussi permettono operazioni di I/O bloccanti (java.io) I canali permettono operazione di I/O oltre che bloccanti anche operazioni non bloccanti (java.nio) 1 IL
DettagliProgrammazione distribuita in Java. da materiale di Carlo Ghezzi e Alfredo Motta
Programmazione distribuita in Java da materiale di Carlo Ghezzi e Alfredo Motta Obiettivo Poter allocare computazioni su nodi fisici diversi, in modo trasparente, e consentire il coordinamento tra le computazioni
DettagliLezione 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
DettagliESERCIZIO 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
DettagliFileInputStream 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
DettagliIl 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
DettagliJava: la libreria delle classi
Java: la libreria delle classi Input/Output in Java il package java.io object serialization La programmazione di rete i package java.net e java.rmi 149 Approccio generale La libreria delle classi Java
DettagliPersistenza e Serializzazione
Persistenza e Serializzazione JUG Sardegna Cagliari, 30 Ottobre 2004 Pierangelo Caboni Persistenza e Serializzazione 1 Persistenza Spesso si ha la necessità che gli oggetti creati nel corso dell esecuzione
DettagliEsercitazioni 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
DettagliRiassunto. 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
DettagliFlussi, 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,
DettagliUn 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.
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: Clonazione e Serializzazione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative
DettagliVariabili 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
DettagliRiassunto. 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
DettagliVariabili 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
DettagliLPR 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
DettagliComunicare'con'il'mondo
PACKAGE'DI'I/O Do#.%PhD%Denis%Ferrare/% denis.ferrare*@unife.it Comunicare'con'il'mondo Pra$camente*ogni*programma*ha*la*necessità*di*comunicare*con*il* mondo*esterno *Con*l utente*a7raverso*tas$era*e*video
DettagliPROVA FINALE Ingegneria del software
PROVA FINALE Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Laboratorio N 5 Cosa faremo oggi 2 Comunicazione tramite TCP socket Comunicazione tramite UDP socket RIPASSO: Input Output 3 In
DettagliOperazioni 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)
DettagliI tipi di dato primitivi
I tipi di dato primitivi Raffaella Brighi, a.a. 2006/07 Corso di Algoritmi e programmazione. A.A. 2006-07 CdL Operatore Informatico Giuridico. Gestione della memoria I registri. Area di memorizzazione
Dettagli9 - 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
DettagliAppunti dei corsi di
Appunti dei corsi di PROF. G. BONGIOVANNI 1) UTILIZZO DI JAVA PER LO SVILUPPO DI APPLICAZIONI DI RETE...2 1.1) Ripasso di AWT... 3 1.2) Input/Output in Java... 6 1.2.1) Classe InputStream... 7 1.2.2) Classe
DettagliIl linguaggio assembly
Il linguaggio assembly Direttive Chiamate di sistema (system call) Esempi 1 Direttive Le direttive (data layout directives) danno delle indicazioni all'assemblatore sul contenuto di un file (istruzioni,
DettagliImpariamo a programmare in. Lezione 5
Impariamo a programmare in Operazioni Aritmetiche Quando entrambi gli operandi sono numeri interi, la divisione ha una caratteristica particolare, che può essere utile ma che va usata con attenzione Calcola
DettagliLezione n.5 LPR-A UDP: COSTRUZIONE DI PACCHETTI
Università degli Studi di Pisa Lezione n.5 LPR-A UDP: COSTRUZIONE DI PACCHETTI 27/10/2008 Laura Ricci Laura Ricci 1 COSTRUZIONE DI PACCHETTI UDP JAVA consente la trasformazione automatica dei dati primitivi
DettagliLezione 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
Dettagli18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
DettagliTIPI PRIMITIVI E CLASSI WRAPPER
I tipi primitivi come oggetti Package java.lang In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti per passarli per riferimento a una funzione quando una funzione pretende
DettagliLaboratorio 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
DettagliPACKAGE DI I/O. Dott. Riccardo Zese.
PACKAGE DI I/O Dott. Riccardo Zese riccardo.zese@unife.it Comunicare con il mondo Praticamente ogni programma ha la necessità di comunicare con il mondo esterno Con l utente attraverso tastiera e video
DettagliCorso 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
DettagliProgrammazione 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)
DettagliProf. 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
DettagliFondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Files? Yes, Thanks!
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Files? Yes, Thanks! File in Java I concetti
DettagliProgrammazione orientata agli oggetti La classe Object, metodi e classi final, this. Object
Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza
DettagliFiles? Yes, Thanks! Serializzazione di entità semplice. Meccanismi. Meccanismi. Meccanismi. Fondamenti di Informatica T2 Modulo 2
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Files? Yes, Thanks! File in Java I concetti
Dettagli19 - 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
DettagliFile, 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
Dettagli10. 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
DettagliInput. 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
DettagliCorso 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
DettagliSockets 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
DettagliSerialization. Persistenza dei dati quando l applicazione non è running: salvataggio della struttura interna di un oggetto. E un problema ricorsivo!
Java Serialization Il problema della persistenza Persistenza dei dati quando l applicazione non è running: salvataggio della struttura interna di un oggetto. E un problema ricorsivo! Serializzazione: trasformazione
DettagliProgrammazioneJava. 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
DettagliLezione n.7. UDP: Costruzione di pacchetti, e esercizi avanzati 10/11/2009 Andrea Corradini
Università degli Studi di Pisa Dipartimento di Informatica Lezione n.7 LPR-B-08 UDP: Costruzione di pacchetti, e esercizi avanzati 10/11/2009 Andrea Corradini Lezione 7: Il Protocollo UDP: costruzione
Dettagli