1212 Entrée et sortie de fichiers. 12-2 Objectifs À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console.

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Sérialisation des objets
Le mécanisme des exceptions
Flots et Sérialisation des objets
Programmation Réseaux Illustration : Les Sockets en Java Anne-Marie Déry À travailler seuls Concepts généraux Mise en œuvre Java.
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
(Classes prédéfinies – API Java)
Voisin-Polian : Introduction à Java 1 Introduction à Java - les flots - Frédéric VOISIN – Nicole POLIAN FIIFO - « Remise à Niveau »
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
JAV - TD 6 Structures de données JAVA
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
FLSI602 Génie Informatique et Réseaux
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Principes de programmation (suite)
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
COURS DE PROGRAMMATION ORIENTEE OBJET :
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Langage Oriente Objet Cours 4.
1 Cours JAVA / Y.Laborde Java : Les FLUX de données Les flux de données introduction les flux binaires les flux binaires de sortie (FBS) les flux binaires.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Classes abstraites et Interfaces
Système d’Exploitation
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Les fichiers binaires en C++
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Programmation concurrente
POO-L3 H. Fauconnier1 Supplément gratuit…. POO-L3 H. Fauconnier2 Entrée-sortie public static void main(String[] args) { // sortie avec printf ou double.
IFT 6800 Atelier en Technologies d’information
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI 1502 Principes fondamentaux de conception de logiciels
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
Les méthodes en java • Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. • Une méthode pour être utilisée.
1111 Gestion des exceptions Objectifs À la fin de ce cours, vous serez capables de : • Expliquer les concepts de base de la gestion des exceptions.
J201 (JOC) Java Avancé juin 2007 ~ Brigitte Groléas ~
Objectifs À la fin de ce cours, vous serez capables de :
4 Introduction des objets. Les chaînes et tableaux
1 Fichers Binaires, Accès Direct et Objets. 2 Données binaires. Il s'agit ici de lire et écrire des données binaires par opposition à du texte. Pour ce.
Cours n°3 rappels. POO-L3 H. Fauconnier2 Entrée-sortie public static void main(String[] args) { // sortie avec printf ou double a = 5.6d ; double b =
PHP 3° PARTIE : GESTION DE FICHIERS ET DE REPERTOIRES
La notion de type revisitée en POO
Cours 9 Exceptions (fin) Généricité. POO-L3 H. Fauconnier2 Chaînage d'exceptions  Une exception peut être causée par une autre.  il peut être utile.
11/04/ L'héritage Cours 7 Cours 7.
Chapitre 6.2 Les curseurs Cours SGBD 3A Mme hkimi Jihène
Cours Les flux ou streams. Cours 162 Flux : objet possédant des méthodes capables de lire ou écrire des flots d’octets sur tout support (mémoire,
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Tutorat en bio-informatique
Entrées / Sorties.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 3 – Classes et objets en Java Master 1 SIGLIS1 Java Lecteur - Chapitre 3 Classes et objets en Java.
Strings et Tableaux en Java
Les sockets.
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Schéma de conception Factory Method Exemple Sylvain Giroux.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
1 Chapitre III (~70 transparents) Compléments. 2 Au sommaire de ce chapitre 1. Les fichiers Les classes utilitaires
Ingénierie des réseaux - Chapitre 2 bis Les sockets en Java
Fichier et Stream d’Entrée-Sortie IFT1025, Programmation 2 Jian-Yun Nie Version court par Douglas Eck; Version
Introduction à la programmation objet avec java
JAVA Les Entrées-sorties
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
STREAMS (et fichiers).
Lecture/Écriture de fichiers (I/O)
Transcription de la présentation:

1212 Entrée et sortie de fichiers

12-2 Objectifs À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console • Lire et écrire des fichiers texte • Lire et écrire des fichiers de données • Dresser la liste du contenu d’un répertoire À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console • Lire et écrire des fichiers texte • Lire et écrire des fichiers de données • Dresser la liste du contenu d’un répertoire

12-3 Vue d’ensemble LectureLecture ÉcritureÉcriture FichierFichier NomNom ConsoleConsole

12-4 Principes de base : sortie standard Présentation de System.out.println() • Il n’existe pas de package System avec une classe dénommée out et une méthode println(). • System est une classe. • System a une variable d’instance statique dénommée out. • out représente une autre classe. • out est un objet PrintStream. Présentation de System.out.println() • Il n’existe pas de package System avec une classe dénommée out et une méthode println(). • System est une classe. • System a une variable d’instance statique dénommée out. • out représente une autre classe. • out est un objet PrintStream.

12-5 À propos de l'abstraction de flux • Tout ce qui est lu ou écrit est un flux. • Exemples de flux : –Console –Fichier –Canaux de transmission –Réseau –Mémoire • Ce qui peut être lu ou écrit : –Caractères –Objets Java –Sons, images, etc. • Tout ce qui est lu ou écrit est un flux. • Exemples de flux : –Console –Fichier –Canaux de transmission –Réseau –Mémoire • Ce qui peut être lu ou écrit : –Caractères –Objets Java –Sons, images, etc.

12-6 Complément d’information sur out • out est un objet PrintStream qui permet de : –écrire des données sous un format lisible –convertir des caractères (stockés en Unicode) en octets, en fonction des paramètres d’encodage de caractères par défaut de la plate-forme –terminer une ligne –purger le flux • PrintStream n'est pas optimisé dans Java 1.1 ! • out est un objet PrintStream qui permet de : –écrire des données sous un format lisible –convertir des caractères (stockés en Unicode) en octets, en fonction des paramètres d’encodage de caractères par défaut de la plate-forme –terminer une ligne –purger le flux • PrintStream n'est pas optimisé dans Java 1.1 !

12-7 Principes de base : entrée standard • L'entrée standard est représentée par System.in. • in est un objet InputStream qui confère une capacité de lecture restreinte par la méthode read(). • in ne vous permet pas de : – lire une ligne à la fois – lire des primitives de Java, comme double • in vous permet de mettre votre système en « pause ». try {System.in.read();} catch... • L'entrée standard est représentée par System.in. • in est un objet InputStream qui confère une capacité de lecture restreinte par la méthode read(). • in ne vous permet pas de : – lire une ligne à la fois – lire des primitives de Java, comme double • in vous permet de mettre votre système en « pause ». try {System.in.read();} catch...

12-8 Principes de base : lecture d’une ligne • Si vous souhaitez lire une ligne complète saisie sur la console, vous devez enrouler System.in. • Enroulage par InputStreamReader, BufferedReader • Si vous souhaitez lire une ligne complète saisie sur la console, vous devez enrouler System.in. • Enroulage par InputStreamReader, BufferedReader public class Application1 { public static void main(String[] args) { BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); String s; try { while((s = in.readLine()).length() != 0) System.out.println(s); } catch(IOException e) {} }}

12-9 Lecture d’un fichier texte • Enroulage de la représentation String d'un nom de fichier par FileReader • Exemple : String s2 présente le contenu complet des fichiers • Enroulage de la représentation String d'un nom de fichier par FileReader • Exemple : String s2 présente le contenu complet des fichiers public class Application1 { public static void main(String[] args) { try{ BufferedReader in = new BufferedReader( new FileReader(args[0])); String s, s2 = new String(); while((s = in.readLine())!= null) s2 += s + "\n"; in.close(); } catch {}; }}

12-10 Écriture d’un fichier texte • Utilisez FileWriter • Enroulez avec BufferedWriter • Enroulez avec PrintWriter • Exemple : supposons que String s2 contient les données texte • Utilisez FileWriter • Enroulez avec BufferedWriter • Enroulez avec PrintWriter • Exemple : supposons que String s2 contient les données texte public class Application1 { public static void main(String[] args) { PrintWriter out1 = new PrintWriter( new BufferedWriter( new FileWriter(”Outputfile.out"))); out1.println(s2); }}

12-11 Écriture d’un fichier de données • Utilisez FileOutputStream • Enroulez avec BufferedOutputStream • Enroulez avec DataOutputStream • Exemple : écriture de la valeur de e • Utilisez FileOutputStream • Enroulez avec BufferedOutputStream • Enroulez avec DataOutputStream • Exemple : écriture de la valeur de e public class Application1 { public static void main(String[] args) { DataOutputStream out2 = new DataOutputStream( new BufferedOutputStream( new FileOutputStream("Data.out"))); out2.writeDouble( ); out2.close(); }}

12-12 Lecture d’un fichier de données • Utilisez FileInputStream • Enroulez avec BufferedInputStream • Enroulez avec DataInputStream • Exemple : lecture de la valeur écrite précédemment • Utilisez FileInputStream • Enroulez avec BufferedInputStream • Enroulez avec DataInputStream • Exemple : lecture de la valeur écrite précédemment public class Application1 { public static void main(String[] args) { DataInputStream in5 = new DataInputStream( new BufferedInputStream( new FileInputStream("Data.out"))); System.out.println(in5.readDouble());}}

12-13 FilterInputStream et FilterOutputStream • FilterInputStream correspond à l'entrée. • FilterOutputStream correspond à la sortie. • Tous deux assurent un mécanisme qui permet de « filtrer » le flux. • Types de filtres possibles : –Données formatées (Java double, int, etc.) –Buffer de données –Numéros de lignes • Tous deux sont sous-classés par différentes classes afin d’assurer ces fonctionnalités. • FilterInputStream ne peut pas être instancié directement. • FilterInputStream correspond à l'entrée. • FilterOutputStream correspond à la sortie. • Tous deux assurent un mécanisme qui permet de « filtrer » le flux. • Types de filtres possibles : –Données formatées (Java double, int, etc.) –Buffer de données –Numéros de lignes • Tous deux sont sous-classés par différentes classes afin d’assurer ces fonctionnalités. • FilterInputStream ne peut pas être instancié directement.

12-14 Accès direct aux fichiers • Les fichiers sont normalement lus et écrits de manière séquentielle. • Il est parfois utile d’accéder directement à certaines sections de fichier. • La classe RandomAccessFile vous permet de : –vous positionner à n’importe quel point dans un fichier –écrire des données à cette position (les données existantes sont « décalées » pour faire de la place). • Une position se spécifie en octets. • Les fichiers sont normalement lus et écrits de manière séquentielle. • Il est parfois utile d’accéder directement à certaines sections de fichier. • La classe RandomAccessFile vous permet de : –vous positionner à n’importe quel point dans un fichier –écrire des données à cette position (les données existantes sont « décalées » pour faire de la place). • Une position se spécifie en octets.

12-15 Exemple d’accès direct public class randomAccess { public static void main(String args[]) throws IOException { RandomAccessFile rf = new RandomAccessFile("test.dat", "rw"); for(int i = 0; i < 10; i++) rf.writeDouble(i*3.14); rf.close(); … rf = new RandomAccessFile("test.dat", "rw"); rf.seek(5*8); // go the fifth position rf.writeDouble( ); rf.close(); }}

12-16 La classe File • La classe File est utilisée pour représenter le nom d’un fichier ou d’un ensemble de fichiers (répertoire) : File f1 = new File("/"); // root File f2 = new File("/", "etc/passwd"); File f3 = new File("config.sys"); • Vous pouvez obtenir certains attributs du fichier : –s’il existe, s’il peut être lu ou écrit –la date de sa dernière modification, sa taille • Vous pouvez créer et supprimer des fichiers. • La classe File est utilisée pour représenter le nom d’un fichier ou d’un ensemble de fichiers (répertoire) : File f1 = new File("/"); // root File f2 = new File("/", "etc/passwd"); File f3 = new File("config.sys"); • Vous pouvez obtenir certains attributs du fichier : –s’il existe, s’il peut être lu ou écrit –la date de sa dernière modification, sa taille • Vous pouvez créer et supprimer des fichiers.

12-17 Liste des fichiers dans un répertoire • La méthode list () dans un objet File renvoie la liste des noms de fichiers lorsque l’objet consiste en un répertoire. • L’interface FileNameFilter permet de récupérer un sous-ensemble de fichiers. • Pour obtenir un sous-ensemble : –Passez un objet implémentant l’interface FileNameFilter vers la méthode list (). –La méthode accept () in FileNameFilter doit être achevée pour l'implémentation. –La méthode prend le nom du répertoire et String comme clause. • La méthode list () dans un objet File renvoie la liste des noms de fichiers lorsque l’objet consiste en un répertoire. • L’interface FileNameFilter permet de récupérer un sous-ensemble de fichiers. • Pour obtenir un sous-ensemble : –Passez un objet implémentant l’interface FileNameFilter vers la méthode list (). –La méthode accept () in FileNameFilter doit être achevée pour l'implémentation. –La méthode prend le nom du répertoire et String comme clause.

12-18 Exemple // Directory of.html files in root directory class onlyHtml { public static void main(String args[]) { String dirname = ”” + File.separatorChar; File f1 = new File(dirname); FilenameFilter smaller = new Only(); String s[] = f1.list(smaller); for (int i=0; i < s.length; i++) { System.out.println(s[i]); }}} public class Only implements FilenameFilter { public boolean accept(File dir, String name) { return name.endsWith(“.html”); }}

12-19 Résumé Durant ce cours, vous devriez avoir appris à : • utiliser System.in et System.out • utiliser des objets Reader et Writer • utiliser des objets DataInputStream et DataOuputStream • utiliser l’interface FilenameFilter pour dresser une liste sélective des fichiers d’un répertoire Durant ce cours, vous devriez avoir appris à : • utiliser System.in et System.out • utiliser des objets Reader et Writer • utiliser des objets DataInputStream et DataOuputStream • utiliser l’interface FilenameFilter pour dresser une liste sélective des fichiers d’un répertoire