I flussi di input/output
Le operazioni fondamentali riguardanti il trattamento di un file sono:
-Apertura : si stabilisce un collegamento tra memoria centrale e l'unità di memoria di massa dove è contenuto il file per svolgere su di esso le operazioni successive.
-Lettura : Le operazioni che trasferiscono i dati dal file alla memoria centrale.
-Scrittura : le operazioni che trasferiscono dati dalla memoria centrale al file.
-Chiusura : Si chiude il collegamento, alla fine delle operazioni.
La lettura si indica anche con input e la scrittura con output, e le operazioni che trasferiscono informazioni dalla memoria centrale al file e viceversa si chiamano in generale operazioni di I/O (input/output).
In java le classi che gestiscono l'I/O sono contenuti nel package java.io.*;
Java gestisce queste operazioni con il concetto di stream, cioè di flusso di dati. Gli stream costituiscono in pratica sequenze ordinate di dati che si dividono in:
-Stream di input: in cui i dati viaggiano dalla sorgente al software. (Ad esempio un file su disco da cui si leggono i dati)
-Stream di output: in cui i dati viaggiano dal software alla sorgente. (Ad esempio i dati da visualizzare su schermo)
Gli stream vengono creati in java istanziando le classi contenute nel package java.io. E' possibile classificare queste classi in due categorie:
-Classi basate su flussi di byte
-Classi basate su flussi i caratteri.
In java questa differenza è data dal fatto che i byte sono farmati da 8 bit mentre i caratteri sono gestiti con 16 bit.
Le classi basate sui byte hanno come sopraclasse InputStream e OutputStream.
Mentre le classi basate sui caratteri hanno come sopraclasse Reader(input) e Writer(output).
Una delle caratteristiche dei flussi di I/O in Java è la possibilità di concatenare tra loro più stream. Questo risulta utile perché ogni stream consente di osservare i dati in un certo modo, accedendo agli stesso attraverso dei metodi tipici del singolo stream.
Esempio:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
I file trattati da Java possono essere di due categorie:
-File strutturati
-File di testo.
I file strutturati sono composti da una struttura definita nel programma: devono necessariamente essere letti secondo un criterio ben specificato.
Ad esempio (Stringa,intero,double,Stringa).
Non possiamo leggere in un altro modo, poiché si va incontro a errori madornali e senza senso :|
I file di testo è composto da sequenze di linee di caratteri, in cui ogni linea termina con un carattere speciale di fine riga.Il contenuto di questi file può essere letto anche usando un editor di testi.
I file strutturati utilizzano le classi basate sui byte per le operazioni di I/O, mentre i file di testo utilizzano le classi basate sui caratteri.
Esempi di lettura/scrittura in java su File Strutturati:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ovviamente bisogna gestire delle eccezioni, in lettura: EOFException, in scrittura basta un: Exception.
Esempi di lettura/scrittura su File di Testo:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Eccezioni: IOException da gestire.
Abbiamo finito, spero anche qui di essere stato abbastanza chiaro, per ulteriori chiarimenti sapete cosa fare.
Un saluto :bye: