Flux de données Lecture/Ecriture Fichiers



Documents pareils
Entrées / Sorties. Entrées / Sorties. Entrées/Sorties. System.out. Fonctionnement par flots (stream) Karima Boudaoud IUT- R&T. Terrain connu.

Développement Logiciel

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Cours 14 Les fichiers

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

ACTIVITÉ DE PROGRAMMATION

TD3: tableaux avancées, première classe et chaînes

Gestion distribuée (par sockets) de banque en Java

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Cahier des Charges du Projet Domotique. Choquet Mathieu Masson Jérôme Groupe 6. Domotique. p.1

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Langage Java. Classe de première SI

Projet de programmation (IK3) : TP n 1 Correction

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Synchro et Threads Java TM

PROGRAMMATION PAR OBJETS

et se trouve popularisé rapidement pour ses possibilités de développement liés au Web. Les

Utilisation d objets : String et ArrayList

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

Cours 1: Java et les objets

Programmation Objet Java Correction

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Programmation client-serveur sockets - RPC

Programmation impérative

Programmation système I Les entrées/sorties

Langage à objets : JAVA (1)

TP, première séquence d exercices.

Programmation Internet en Java

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Package Java.util Classe générique

Plan du cours. Historique du langage Nouveautés de Java 7

COMPARAISONDESLANGAGESC, C++, JAVA ET

Java Licence Professionnelle CISII,

Chapitre 10. Les interfaces Comparable et Comparator 1

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Dis papa, c est quoi un bus logiciel réparti?

Corrigé des exercices sur les références

1. Langage de programmation Java

INF 321 : mémento de la syntaxe de Java

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Solutions du chapitre 4

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

as Architecture des Systèmes d Information

Programme Compte bancaire (code)

Auto-évaluation Programmation en Java

Notes de cours Practical BigData

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Premiers Pas en Programmation Objet : les Classes et les Objets

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Programmer en JAVA. par Tama

Java RMI. Arnaud Labourel Courriel: Université de Provence. 8 mars 2011

1 Lecture de fichiers

Tp 1 correction. Structures de données (IF2)

Programmation Réseau SSH et TLS (aka SSL)

TP1 : Initiation à Java et Eclipse

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Programmation système de commandes en C

Java DataBaseConnectivity

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

TP Programmation Java / JDBC / Oracle

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Programmation par les Objets en Java

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Introduction au langage Java

Exercices sur les interfaces

RMI le langage Java XII-1 JMF

Approche Contract First

TD/TP PAC - Programmation n 3

Chapitre I Notions de base et outils de travail

Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions

OpenPaaS Le réseau social d'entreprise

Un ordonnanceur stupide

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Remote Method Invocation (RMI)

Desktop Intégration. Rémi Forax

7 Développement d une application de MapReduce

Remote Method Invocation Les classes implémentant Serializable

2 Chapitre 1 Introduction

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

LOG4430 : Architecture logicielle et conception avancée

Java Licence Professionnelle CISII,

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Certificat Big Data - Master MAthématiques

Corrigés des premiers exercices sur les classes

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

Introduction au langage C

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Calcul Parallèle. Cours 5 - JAVA RMI

GESTION DES FICHIERS C/UNIX

Objets et Programmation. origine des langages orientés-objet

Transcription:

Flux de données Lecture/Ecriture Fichiers 1

Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d entrée (input stream): données vers le programme flux de sortie (output stream): données issues du programme flux d entrée à partir du clavier System.in Scanner keyboard = new Scanner(System.in); flux de sortie vers l écran ou un fichier System.out System.out.println("Output stream"); 2

Classe PrintWriter est un flux de sortie (output stream) pour écrire sur un fichier de texte méthodes print, println similaires de la classe System.out import java.io.printwriter; import java.io.fileoutputstream; import java.io.filenotfoundexception; PrintWriter fluxsortie; fluxsortie = new PrintWriter( new FileOutputStream(fichierNom)); Constructeur FileOutputStream prend comme argument un objet String qui est le nom du fichier de Constructeur PrintWriter prend un objet anonyme de classe FileOutputStream 3

On obtient un objet PrintWriter connecté au fichier texte fichiernom Ouverture du fichier fichiernom si le fichier existe le contenu est écrasé si le fichier n existe pas un nouveau fichier est crée Concaténer: fluxsortie =new PrintWriter( new FileOutputStream(fichierNom,true)); Ecriture avec print, println: fluxsortie.println( une chaine de caracteres ); 4

import java.io.printwriter; import java.io.fileoutputstream; import java.io.filenotfoundexception; public class TextFileOutputDemo { public static void main(string[] args) { PrintWriter fluxsortie = null; try { fluxsortie = new PrintWriter(new FileOutputStream("fichier.txt")); catch(filenotfoundexception e) { System.out.println("Erreur d ouverture fichier.txt."); System.exit(0); System.out.println("Ecriture sur fichier"); fluxsortie.println(" Premiere ligne du fichier "); fluxsortie.println(" Deuxiemeligne du fichier."); fluxsortie.close( ); System.out.println("Fin du programme."); 5

Classe Scanner pour lire à partir d un fichier texte import java.util.scanner; import java.io.fileinputstream; import java.io.filenotfoundexception; Lecture à partir du fichier standard d entrée (clavier): Scanner fluxentree =new Scanner(System.in); Lecture à partir du fichier fluxentree: Scanner fluxentree = new Scanner(new FileInputStream(fichierNom)); Les mêmes méthodes que la classe Scanner fluxentree.nextint(), fluxentree.nextline(), fluxentree.nextdouble(), fluxentree.nextlong()... fluxentree.hasnextline(), fluxentree.hasnextint()... retourne un boolean 6

import java.util.scanner; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.printwriter; import java.io.fileoutputstream; public class DemoIO { public static void main(string[] args) { Scanner fluxentree = null; PrintWriter fluxsortie = null; try { fluxentree = new Scanner(new FileInputStream("original.txt")); fluxsortie= new PrintWriter( new FileOutputStream("numerote.txt")); catch(filenotfoundexception e) { System.out.println("Erreur ouverture fichier."); System.exit(0); String ligne = null; int no = 0; while (fluxentree.hasnextline( )) { ligne = fluxentree.nextline( ); no++; fluxsortie.println(no + " " + ligne); fluxentree.close( ); fluxsortie.close( ); 7

Classe BufferedReader pour lire à partir d un fichier méthodes: read and readline import java.io.bufferedreader; import java.io.filereader; import java.io.filenotfoundexception; import java.io.ioexception; ouverture du fichier texte: BufferedReader lectobj; lectobj= new BufferedReader(newFileReader(FichierNom)); readline lire une chaine de charactères (null si EOF) read lire un char (-1 si EOF) retourne un entier il faut convertir char next = (char)(lectobj.read()); readline, read peuvent lancer IOException 8

. readline retourne null si EOF. read retourne -1 si EOF Lecture des nombres: 1) readline(), 2) Integer.parseInt(), Double.parseDouble(),... 9

import java.io.bufferedreader; import java.io.filereader; import java.io.filenotfoundexception; import java.io.ioexception; public class TextFileInputDemo { public static void main(string[] args) { try {BufferedReader fluxentree= new BufferedReader(new FileReader("donnee.txt")); String ligne = fluxentree.readline( ); System.out.println(" Premiere ligne:"); System.out.println(ligne); ligne = fluxentree.readline( ); System.out.println(" Seconde ligne:"); System.out.println(ligne); fluxentree.close( ); catch(filenotfoundexception e) { System.out.println(" Fichier donnee nexiste pas"); System.out.println("ou erreur ouverture"); catch(ioexception e) { System.out.println("Erreur lecture donnee.txt."); 10

Classe File est une classe pour les noms de fichiers File fichierobj =new File( donnees ); if ( fichierobj.exists()) System.out.println( fichier existe ); if (fichierobj.canread()) System.out.println( pas lisible ); 11

Copyright 2008 Pearson Addison-Wesley. All rights reserved 12

Copyright 2008 Pearson Addison-Wesley. All rights reserved 13

Copyright 2008 Pearson Addison-Wesley. All rights reserved 14

Copyright 2008 Pearson Addison-Wesley. All rights reserved 15

Fichiers Binaires Java sont portables lecture ObjectInputStream import java.io.objectinputstream; import java.io.fileinputstream; import java.io.ioexception; ObjectInputStream fluxobj= new ObjectInputStream( new FileInputStream(fichierNom)); constructeur FileInputStream peut lancer FileNotFoundException constructeur ObjectInputStream peut lancer IOException méthodes : readint, readdouble, readchar, readboolean readutf pour String -il faut fermer le flux après lecture: close -lance EOFException si c est la fin du fichier 16

writeobject pour écrire un objet readobject pour lire un objet uneclasse unobjet=(uneclasse) fluxobj.readobject(); les objets doivent appartenir à une classe qui implémente l interface Serializable cette interface n a aucune méthode, aucune constante si la classe a des objets comme attributs, il faut que ces classes soient aussi Serializable - il vaut mieux sauvegarder les objets d une même classe 17

import java.io.objectoutputstream; import java.io.fileoutputstream; import java.io.ioexception; public class BinaryOutputDemo { public static void main(string[] args) { try { ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream( "donne.dat")); int i; for (i = 0; i < 5; i++) out.writeint(i); System.out.println(" on ecrit dans donne.dat."); out.close( ); catch(ioexception e) { System.out.println("Probleme fichier sortie."); 18

import java.io.objectinputstream; import java.io.fileinputstream; import java.io.ioexception; import java.io.filenotfoundexception; public class BinaryInputDemo { public static void main(string[] args) {try { ObjectInputStream in= new ObjectInputStream(new FileInputStream(" donne.dat")); int n1 = in.readint( ); int n2 = in.readint( ); System.out.println("ce qu on a lus :"); System.out.println(n1); System.out.println(n2); in.close( ); catch(filenotfoundexception e) { System.out.println( "Erreur donne.dat."); catch(ioexception e) {System.out.println("Problemes donnees dans donne.dat."); System.out.println( " Fin du programme"); 19