INPUT OUTPUT

Documenti analoghi
Lettura e scrittura - Stream

Java: la libreria delle classi

Informatica. Prof. A. Longheu. Input e Output

Il linguaggio Java I file sequenziali

Lettura e scrittura - Stream

LETTURA DI DATI DA INPUT

La paninoteca. Mi resta da scrivere solo costo()

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

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

Corso sul linguaggio Java

Java I/O e serializzazione

Fondamenti di Informatica C Esercitazioni di Laboratorio / 4 Outline

IL PACKAGE java.io CONCETTO BASE: LO STREAM

I/O Streams in Java. Lorenzo Gallucci

IL PACKAGE java.io. Il package java.io definisce i concetti base per gestire l'i/o da qualsiasi sorgente e verso qualsiasi destinazione.

Gestione di file in Java

A. Ferrari Java: Stream e File

Programmazione ad Oggetti

Il linguaggio Java. Gli stream

A. Ferrari Stream e File

Java I/O e serializzazione

Input/Output in Java

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

Indice. 1 Java I/O API. Indice

Lezione 16 programmazione in Java

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

RETI DI CALCOLATORI Linguaggio Java: Il Package di Input Output

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

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

Programmazione Orientata agli Oggetti in Linguaggio Java

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:

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

Le classi FileInputStream e RandomAccessFile. Semplici Algoritmi di Ordinamento

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

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

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

LETTURA E SCRITTURA DI FILE

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

Corso sul linguaggio Java

Il package java.io definisce i concetti base per gestire l'i/o da qualsiasi sorgente e verso qualsiasi destinazione. CONCETTO BASE: LO STREAM

Programmazione 2. Input Output su Stream e File

Creazione, eliminazione, lettura e scrittura di file di testo

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A lezione 09 - I/O in Java. Il package java.io

Java. Il package java.io

Laboratorio di reti I: Java IO

Il sistema I/O di Java

Linguaggi. I/O in Java. - lezione 09 - Corso di Laurea in Ingegneria delle Telecomunicazioni A.A

Corso sul linguaggio Java

Input/Output in Java

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

Lettura e scrittura di dati

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

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

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

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

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

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

Introduzione. Java. Streams. Streams

Unità 2 I file binari

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

Gestione dell I/O su File

Informatica I. Ingegneria Medica. Prof. Diego Salamon

appunti java Capitolo 9 pag. 1

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

Creazione, eliminazione, lettura e scrittura di file di testo

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

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

ProgrammazioneJava. Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila.

PROVA FINALE Ingegneria del software

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

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

PACKAGE DI I/O. Dott. Riccardo Zese.

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

Fornisce una interfaccia unificata per un insieme di interfacce di un sottosistema, rendendo più facile l uso di quest ultimo.

ESERCIZIO 1 (FILE DI TESTO)

Unità A1 I file testo

Libreria standard JAVA

Input e Output in Java

Il pattern decorator. L21_DecoratorPattern 1

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

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

Variabili e Metodi di classe Interfacce e Package File in Java

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

Flussi, lettori e scrittori

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

TIPI PRIMITIVI E CLASSI WRAPPER

20 - Input/Output su File

Input/Output in Java. Fondamenti di Informatica L-B

Corso sul linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

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

Laboratorio di Reti Lezione 3. JAVA IO Abstraction Streams. 8/3/2016 Laura Ricci

Note ed esercizi aggiuntivi

Errata Corrige di Manuale di Java 9

PROVA FINALE Ingegneria del software

Comunicare'con'il'mondo

Programmazione in Java

Transcript:

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 dal tipo di sorgente/destinazione) per accedere ad informazioni relative a file e directory (ossia per gestire iil file system). In questo caso, la classe fondamentale per accedere a tali informazioni è la classe File. Il meccanismo di lettura/scrittura sequenziale dei dati è basato sul concetto di stream (oggetto su cui è possibile leggere e scrivere dati sequenzialmente). Stream di byte Input sequenziale La classe astratta InputStream racchiude tutti i metodi per la lettura da uno stream di byte: public abstract int read() public int read(byte b[]) public int read(byte b[], int offset, int length) tutte bloccanti; ritornano -1 se si è raggiunta la fine dello stream). Fornisce inoltre metodi di utilità quali: La classe FileInputStream è usata per lʼaccesso sequenziale a file di byte (ridefinisce i metodi della classe InputStream fornendone unʼimplementazione per i file). InputStream public FileInputStream(String name) public FileInputStream(File f) public FileInputStream(FileDescriptor fd) FileInputStream Ed aggiunge il metodo public final FileDescriptor getfd() La classe FilterInputStream è la superclasse di tutte le classi che forniscono funzionalità di filtro; si appoggia ad un InputStream esistente passato al momento della costruzione. La classe BufferedInputStream legge una sequenza di byte che mette in un buffer interno (ottimizza la lettura). InputStream FilterInputStream BufferedInputStream La classe DataInputStream fornisce metodi per leggere i diversi tipi base di Java da un InputStream esistente passato al momento della costruzione: readboolean, readbyte, readinteger, readshort, readlong, readfloat, readdouble, readchar, readunsignedbyte, readunsignedshort. Es di utilizzo: DataInputStream dis = new DataInputStream(new BufferedInputStream (new FileInputStream( prova.txt )));

Output Sequenziale La classe astratta OutputStream racchiude tutti i metodi per la scrittura da uno stream di byte: public abstract void write(byte b) public void write(byte b[]) public void write(byte b[], int offset, int length) Fornisce inoltre metodi di utilità quali: public void flush() La classe FileInputStream è usata per scrivere file sequenziali di byte (ridefinisce i metodi della classe OutputStream fornendone unʼimplementazione per i file). public FileOutputStream(String name) OutputStream public FileOutputStream(String name, boolean app) public FileOutputStream(File f) public FileOutputStream(FileDescriptor fd) FileIOutputStream Ed aggiunge il metodo public final FileDescriptor getfd() La classe FilterOutputStream è la superclasse di tutte le classi che forniscono funzionalità di filtro; si appoggia ad un OutputStream esistente passato al momento della costruzione. La classe BufferedOutputStream sfrutta un buffer interno per ottimizzare la scrittura (che avviene effettivamente solo nel momento in cui tale buffer risulta pieno (o viene useguita una flush)). OutputStream FilterOutputStream BufferedOutputStream La classe DataInputStream fornisce metodi per scrivere i diversi tipi base di Java da un OutputStream esistente passato al momento della costruzione: writeboolean, writebyte, writeinteger, writeshort, writelong, writefloat, writedouble, writechar, writeunsignedbyte, writeunsignedshort.

Stream di caratteri La lettura e la scrittura di caratteri vengono effettuate tramite le classi Reader e Writer che inglobano le funzionalitù per leggere stream sequenziali di caratteri. Reader La classe astratta Reader racchiude tutti i metodi per la lettura da uno stream di caratteri: public abstract int read() public int read(char c[]) public int read(char c[], int offset, int length) tutte bloccanti; ritornano -1 se si è raggiunta la fine dello stream). Fornisce inoltre metodi di utilità quali: La classe astratta InputStreamReader costruisce un ponte tra gli stream di byte e queli di caratteri (effettua la conversione da byte a caratteri). Costruttore: public InputStreamReader(InputStream is) Reader La classe FileReader è usata per lʼaccesso sequenziale a file di caratteri (ridefinisce i metodi della classe InputStreamReader fornendone unʼimplementazione per i file). public FileReader(String name) public FileReader(File f) public FileReader(FileDescriptor fd) InputStreamReader FileReader La classe FilterReader è la superclasse di tutte le classi che forniscono funzionalità di filtro; si appoggia ad un Reader esistente passato al momento della costruzione. La classe BufferedReader legge una sequenza di caratteri che mette in un buffer interno (ottimizza la lettura). Si appoggia ad un Reader esistente (passato al momento della costruzione) ed aggiunge il metodo: public String readline()

Writer La classe astratta Writer racchiude tutti i metodi per la scrittura da uno stream di caratteri: public abstract void write(char c) public void write(char c[]) public void write(char c[], int offset, int length) Fornisce inoltre metodi di utilità quali: public void flush() La classe OutputStreamWriter costruisce un ponte tra gli stream di byte e queli di caratteri (effettua la conversione da byte a caratteri). Costruttore: public OutputStreamReader(OutputStream is) Writer La classe FileWriter è usata per lʼaccesso sequenziale a file di caratteri (ridefinisce i metodi della classe OutputStreamReader fornendone unʼimplementazione per i file). public FileWriter(String name) public FileWriter(File f) public FileWriter(FileDescriptor fd) OutputStreamWriter FileWriter La classe FilterWriter è la superclasse di tutte le classi che forniscono funzionalità di filtro; si appoggia ad un Writer esistente passato al momento della costruzione. La classe BufferedWriter sfrutta un buffer interno per ottimizzare la scrittura (che avviene effettivamente solo nel momento in cui tale buffer risulta pieno (o viene useguita una flush)). Si appoggia ad un Writer esistente (passato al momento della costruzione) ed aggiunge il metodo: public void newline()

StreamTokenizer La classe StreamTokenizer fornisce funzionalitò per estrearre token da uno stream di caratteri. Il costruttore prende come parametro un Reader. Il metodo int nexttoken() estra un token alla volta dal Reader: quando raggiunge la fine dello stream il metodo restituisce la costante statica StreamTokenizer.TT_EOF lʼattributo ttype permette di identificare il tipo del token letto: - StreamTokenizer.TT_WORD - StreamTokenizer.TT_NUMBER il valore letto viene recuperato tramite lʼattributo: - String sval, per le stringhe - double nval, per i numeri - int ttype, negli altri casi