Les entrées sorties

1,213 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,213
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Les entrées sorties

  1. 1. 07/2008
  2. 2.  Entrées/Sorties : Communication entre les programmes et le monde extérieur.  Les entrées : données fournis à un programme à travers un périphérique d’entrée ( Ex: clavier, fichier, réseau, …)  Les Sorties : résultats fournis par un programme à travers un périphérique de sortie ( Ex: écran, fichier, réseau, …)
  3. 3.  Dans l’API de java, il existe des classes du package java.io qui permettent de réaliser les E/S dans toute source ou destination de données.  Il y a deux groupes de classes :  Classes pour les E/S par octets (flux d’octets) ayant pour super-classes : InputStream : lecture par octets OutputStream : écriture par octet  Classes pour les E/S par caractères (flux de caractères) ayant pour super-classes : Reader : lecture par caractère Write : écriture par caractère
  4. 4.  System.in : flot d’entrée standard (clavier), instance de la classe InputStream.  On va utiliser 2 classes InputStreamReader et BufferedReader :  BufferedReader : classe pour la lecture des caractères Constructeur : BufferedReader (Reader in); Quelques méthodes : String readLine( ) throws IOException : lecture d’une ligne texte et retourne null si fin de flux void close( ) : fermeture du fichier  InputStreamReader : classe pour le transfert des octets en caractères Constructeur : InputStreamReader ( InputStream in ) ;
  5. 5.  Exemple 1 : import java.io.*; classe Saisie { public static void main ( String args[ ] ) throws IOException { String s; int n; float r; BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in)); // lesctrure d’une chaîne de caratères System.out.println( " Entrer une chaîne " ); s = clavier.readLine( ); // Lecture d’un entier System.out.println( " Entrer une chaîne " ); s = clavier.readLine( ); n = Integer.parseInt( s ); // Lecture d’un réel System.out.println( " Entrer une chaîne " ); s = clavier.readLine( ); r = new Float(s).floatValue( ); } }
  6. 6. On va utiliser 2 classes PrintWriter et FileWriter :  FileWriter : permet d’écrire des caractères dans un fichier Constructeur : FileWriter (String nom) throws IOException ; PrintWriter : permet d’écrire des objets dans un fichier Constructeur : PrintWriter ( Writer out ); Quelques méthodes : print et println : de la même façon qu’avec System.out void close( ) : fermeture du fichier
  7. 7.  Exemple 2 : import java.io.*; classe EcrireFichText { public static void main ( String args[ ] ) throws IOException { int n = 2; float r = 2.5; PrintWriter fs = new PrintWriter (new FileWriter ( " toto.txt " )); fs.println ( " Bonjour, comment ça va ? " ); fs.println ( " Un peu difficile ? " ); fs.println ( " Mais non, mais non " ); fs.println ( " Je peux écrire même un entier " +n ); fs.println ( " ou un réel " +r ); fs.println ( " Tout ce que je veux, bref ! " ); fs.println ( " Au revoir " ); fs.close( ) ; } }
  8. 8. On va utiliser les 2 classes BufferedReader et FileReader du package java.io  FileReader : permet de lire des caractères dans un fichier Constructeur : FileReader ( String nom ) throws FileNotFoundException; Exemple 3 : import java.io.*; class LireFichText { public static void main ( String args[ ] ) throws IOException { String ligne; BufferedReader fe = new BufferedReader ( new FileReader ( "toto.txt") ); while ( (ligne = fe.readLine( ) ) != null ) System.out.println ( ligne ); fe.close( ) ; } }
  9. 9. On va utiliser 2 classes DataOutputStream et FileOutputStream :  DataOutputStream : permet l’écriture d’octets en tenant compte des types simples de java. Constructeur : DataOutputStream (InputStream in) ; Quelques méthodes : void writeUTF (String s) thrpws IOException : écrit un String void writeInt (int i) throws IOException : écrit un entier void writeFloat throws IOException : écrit un réel  FileOutputStream : permet d’écrire des octets dans un fichier Constructeur : FileOutputStream( String nom ) throws IOExecption;
  10. 10.  Exemple 4 : import java.io.*; classe EcrireFichBinaire { public static void main ( String args[ ] ) throws IOException { int n = 2; float r = 2.5; DataOutputStream fs = new DataOutputStream ( new FileOutputStream ( "toto.bin" ) ); fs.writeUTF ( " Bonjour " ); fs.writeInt ( n ); fs.writeFloat ( r ); fs.writeChars ( "a" ); fs.close( ) ; } }
  11. 11. On va utiliser 2 classes DataInputStream et FileIntputStream :  DataInputStream : permet la lecture d’octets en tenant compte des types simples de java. Constructeur : DataInputStream (InputStream in) ; Quelques méthodes : void readUTF (String s) thrpws IOException : lit un String void readInt (int i) throws IOException : lit un entier void readFloat throws IOException : lit un réel  FileInputStream : permet de lire des octets dans un fichier Constructeur : FileInputStream( String nom ) throws FileNotFoundException;
  12. 12.  Exemple 5 : import java.io.*; classe LireFichBinaire { public static void main ( String args[ ] ) throws IOException { DataInputStream fs = new DataInputStream ( new FileInputStream ( "toto.bin" ) ); System.out.println ( fs.readUTF ( ) ); System.out.println (fs.readInt ( ) ); System.out.println (fs.readFloat ( ) ); System.out.println (fs.readChar ( ) ); fs.close( ) ; } }

×