Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Introduzione al linguaggio C++
Corso di Fondamenti di Programmazione canale E-O
LINGUAGGIO DI PROGRAMMAZIONE C
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A2 Java: le basi del linguaggio.
Java Stream e File.
Java Stream e File. La classe File Per operare con lintero file java mette a disposizione la classe File Per utilizzare la classe File è necessario importare.
Stringhe di caratteri In linguaggio C.
Linee guida per la programmazione
SQL applicato a SQL Server
I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
12/11/2004Laboratorio di Programmazione - Luca Tesei1 Caratteri – Input da Console Il tipo char Input dallo standard input.
Capitolo 8 Array Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl.
Massa Laura Mela Enrica
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
File.
Fisica Computazionale I - 51 OPERAZIONI DI INPUT/OUTPUT Le operazioni di input/output sono estremamente complesse perche' implicano una sostanziale interazione.
Corso di Fisica Computazionale I
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Scomposizione di stringhe
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
CAPITOLO 4 LINGUAGGIO JAVA: COSTRUTTI DI BASE. ALFABETO Java adotta la codifica standard Unicode della società Unicode, Inc. (ftp://ftp.unicode.org) definito.
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
I File.
Equivalenza di espressioni
Espressioni condizionali
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Java base I: Sintassi e tipi di dati
Argomenti della lezione
LA DOCUMENTAZIONE È noto che un buon programma dovrebbe essere ben documentato.. ma lesperienza insegna che quasi mai ciò viene fatto! –non cè tempo, ci.
Programmazione in Java
Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
JAVA Franco Bombi 8 ottobre FB Introduzione Java è un linguaggio di impiego generale, basato su classi e orientato agli oggetti Java.
Tipi di dati elementari
Sintassi base e struttura di un programma
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Conversione da base 10 a base X (Utilizzo della pila)
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Pagine ASP parte 2 La gestione dei file Stefano Schacherl.
Lezione 3 Struttura lessicale del linguaggio
Ingresso e uscita in Java F. Bombi 10 ottobre 2002.
Tipi primitivi in java tipodefaultmem.daa booleanfalse1 bittrue false char'\u0000'16 bit byte08 bit short016 bit int032 bit-2^312^31-1.
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Programmazione in Java
Input-Output 16 Maggio Nei programmi sviluppati sino ad oggi abbiamo usato * output su schermo (con System.out.print e System.out.print ) * input.
Microsoft Access Chiavi, struttura delle tabelle.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
FI - Algoritmi e Programmazione 1 Variabili Consentono di aumentare notevolmente la potenza espressiva. Una variabile è caratterizzata da:  Un nome 
10/10/20021 Ingresso e uscita in Java F. Bombi 10 ottobre 2002.
Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri Per esempio:
Il C `e un linguaggio di programmazione di uso generale, originariamente sviluppato per la scrittura del sistema operativo Unix, ed oggi disponibile su.
1 Input / Output Spesso un programma deve acquisire dati da una sorgente esterna o inviare informazioni a una destinazione esterna. L’informazione può.
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
Lezione 2 : Basi del linguaggio Variabili. Come visto nella lezione 1 le classi registrano il proprio stato nelle variabili  int cadenza = 0;  int velocita.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Input in Java. Uso Scanner Un oggetto per la lettura dalla tastiera Piuttosto, per rappresentare la tastiera del nostro calcolatore useremo un oggetto.
Transcript della presentazione:

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli di rete: ftp, http, ssh/scp, rcp Rappresentazione dei dati File di testo CSV, FLV, ARFF Accesso ai dati in Java File XML File binari Archivi, Database File compressi

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File File = sequenza di bytes …

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Codifiche caratteri Caratteri = elementi di un alfabeto Codifica da bytes a carattere ASCII, EBCDIC (1 byte per carattere) UNICODE (2/4 bytes per carattere)

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali ASCII ASCII

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo File di testo = sequenza di caratteri CISAO\n …

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: visualizzazione Editor Emacs, TextPad, UltraEdit, Vi, ecc. Carattere di ritorno carrello Visualizzazione Codifica Unix: 1 carattere ASCII(0A) (\n in Java) Windows: 2 car. ASCII(0D 0A) (\r\n in Java) Mac: 1 carattere ASCII(0D) (\r in Java) Conversioni > dos2unix > unix2dos

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo File di testo = sequenza di linee CIAO … S

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Dati tabellari MarioBianchi23Studente LuigiRossi30Operaio AnnaVerdi50Insegnante RosaNeri20Studente RIGA COLONNA

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: dati tabellari Come rappres. una tabella di valori in un file di testo? Comma Separated Values Una riga per linea Gli elementi di una riga separati da un carattere speciale (separatore) ed ordinati in base alla colonna Separatori: virgola (comma), tabulatore, spazio Mario,Bianchi,23,Studente Luigi,Rossi,30,Operaio Anna,Verdi,50,Insegnante Rosa,Neri,20,Studente

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: dati tabellari Come rappres. una tabella di valori in un file di testo? Fixed Length Values Una riga per linea Gli elementi di una riga ordinati in base alla colonna e di lunghezza fissa (in base alla colonna) Accesso diretto alli-esima riga Maggiore occupazione di spazio disco Mario Bianchi 23 Studente Luigi Rossi 30 Operaio Anna Verdi 50 Insegnante Rosa Neri 20 Studente

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: dati tabellari Cosa succede se un elemento contiene il carattere searatore? Errore di interpretazione della riga Soluzione: quoting Delimitare lelemento con caratteri di inizio e fine (es. … ) Mario Bianchi 23 Studente Luigi Rossi 30 Operaio Anna Verdi 50 Insegnante Rosa Neri 20 Studente Mario Bianchi 23 Studente Luigi Rossi 30 Operaio Anna Verdi 50 Insegnante Rosa Neri 20 Studente

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: dati tabellari Cosa rappresentare lassenza di un elemento? Equivalente di NULL nelle basi di dati Soluzione: missing value Un elemento riservato: ?, null, Mario Bianchi 23 Studente Luigi Rossi 30 ? Anna Verdi 50 Insegnante Rosa Neri ? Studente

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Esempio Import di file CSV / FLV in Excel

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Dati tabellari: meta-dati nomecognomeetaprofessione stringstringintstring MarioBianchi23Studente LuigiRossi30Operaio AnnaVerdi50Insegnante RosaNeri20Studente Descrivono proprietà dei dati Nome colonne Tipo degli elementi (rispetto ad un insieme di tipi disponibile)

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Dati tabellari: meta-dati Insieme di tipi SQL standard INTEGER o INT intero a 32 bit SMALLINT intero a 16 bit REAL numero a virgola mobile a 32 bit DOUBLE numero a virgola mobile a 64 bit NUMERIC(m,n), DECIMAL(m,n) o DEC(m,n) numero decimale con m cifre totali e n dopo la virgola FLOAT(n) numero a virgola mobile con n cifre binarie di precisione

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Dati tabellari: meta-dati Insieme di tipi SQL standard CHARACTER(n) o CHAR(n) stringa di lunghezza fissa n VARCHAR(n) stringa di lunghezza variabile, con lunghezza massima n BOOLEAN booleano DATE data TIME ora TIMESTAMP data e ora

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Dati tabellari: meta-dati Insieme di tipi ARFF (Attribute-Relation File Format) real / integer/ numeric sono sinonimi e coprono i tipi numerici string copre varchar[n], per qualsiasi n { nome-1, …, nome-n } tipi enumerated coprono enumerazione di valori Es., {alto, medio, basso} {Play, Dont Play} date tipo data

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: meta-dati nomecognomeetaprofessione stringstringintstring Come rappres. meta-dati in un file di testo? Come una tabella con due righe, una con i nomi e laltra con i tipi. nome,cognome,eta,professione string,string,int,string

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: meta-dati nomecognomeetaprofessione stringstringintstring Come rappres. meta-dati in un file di testo? Come una tabella con colonne nome e tiponometipo nomestring cognomestring etaint professionestring nome,string cognome,string eta,int professione,string

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: meta-dati nomecognomeetaprofessione stringstringintstring MarioBianchi23Studente LuigiRossi30Operaio AnnaVerdi50Insegnante RosaNeri20Studente Come rappres. dati e meta-dati in un file di testo? Due file distinti Ognuno con una sua rappresentazione (CSV, FLV) Mario,Bianchi,23,Studente Luigi,Rossi,30,Operaio Anna,Verdi,50,Insegnante Rosa,Neri,20,Studente nome,string cognome,string eta,int professione,string

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: meta-dati nomecognomeetaprofessione stringstringintstring MarioBianchi23Studente LuigiRossi30Operaio AnnaVerdi50Insegnante RosaNeri20Studente Come rappres. dati e meta-dati in un file di testo? Un unico file Metadati sulle prime due righe Dati sulle restanti righe nome,cognome,eta,professione string,string,int,string Mario,Bianchi,23,Studente Luigi,Rossi,30,Operaio Anna,Verdi,50,Insegnante Rosa,Neri,20,Studente

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File di testo: meta-dati nomecognomeetaprofessione stringstringintstring MarioBianchi23Studente LuigiRossi30Operaio AnnaVerdi50Insegnante RosaNeri20Studente Come rappres. dati e meta-dati in un file di testo? Un unico file Dati e metadati distinti da una riga separatrice nome,string cognome,string eta,int Mario,Bianchi,23,Studente Luigi,Rossi,30,Operaio Anna,Verdi,50,Insegnante Rosa,Neri,20,Studente

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Attribute-Relation File Format tabella % nome cognome eta professione string % Mario,Bianchi,23,Studente Luigi,Rossi,?,Operaio Anna,Verdi,50,Dottorando di ricerca Rosa,Neri,20,Studente Nome della tabella Linea di commento Nome e tipo colonna Inizio dati Missing value Quoting

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli di rete: ftp, http, ssh/scp, rcp Rappresentazione dei dati File di testo CSV, FLV, ARFF Accesso ai dati in Java File XML File binari Archivi, Database File compressi

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai file in Java - apertura import java.io.*; public static void main(String[] args) { try { BufferedReader input = new BufferedReader( new InputStreamReader( new FileInputStream( args[1] ))); doSomething( input ); input.close(); } catch(IOException e) { … }

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai file in Java -- scan public static int countRows(BufferedReader in) throws IOException { String line; int rows = 0; while( ( line = in.readLine() ) != null ) { rows++; } return rows; }

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Esempio con IOUtil.java

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Esercitazione: FORMATO 1. Scrivere un programma (Java) che dato un file CSV produce il corrispondente ARFF. 2. Discutere cosa cambia in (1) assumendo come insieme di tipi lSQL standard.

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Esercitazione: SINTASSI 1. Scrivere un programma (Java) che dato un file ARFF produce le linee di dati inconsistenti con i metadati. Suggerimento: anzitutto, definire in modo chiaro cosa significa inconsistenti (es., contenenti un valore Mario in un attributo numeric).

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Esercitazione: ITERAZIONE 1. Scrivere una classe Java che permetta di scorrere (nello stile di iteratori) una generica tabella ARFF. La classe ha almeno i seguenti metodi: bool open( String arffFileName ) per specificare il file ARFF; bool next() per leggere una ulteriore riga, ritorna false se non esistente; String getString(String attributeName) per leggere il valore dellattributo attributeName (di tipo string) della corrente riga; double getDouble(String attributeName) per leggere il valore dellattributo attributeName (di tipo numeric) della corrente riga. 2. Scrivere una classe di test della classe in (1).

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Esercitazione: RAPPRESENTAZIONE 1. Scrivere una classe (Java) per rappresentare in memoria una tabella ARFF. La classe deve : permettere laccesso diretto ad un generico elemento della tabella, permettere laccesso diretto ad un generico attributo della tabella, rappresentare gli attributi in modo efficiente (ad esempio, non usare oggetti String per rappresentare attributi numerici).