SlideShare une entreprise Scribd logo
1  sur  13
07/2008
 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, …)
 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
 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 ) ;
 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( );
}
}
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
 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( ) ;
}
}
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( ) ;
}
}
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;
 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( ) ;
}
}
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;
 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( ) ;
}
}
Les entrées sorties

Contenu connexe

Similaire à Les entrées sorties

Gestion d'E_S - Sérialisation.pdf
Gestion d'E_S - Sérialisation.pdfGestion d'E_S - Sérialisation.pdf
Gestion d'E_S - Sérialisation.pdf
MadaniAhlem2
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
Khalil Lechheb
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
Khalil Lechheb
 
Les nouveautés de java 7 et les promesses
Les nouveautés de java 7  et les promessesLes nouveautés de java 7  et les promesses
Les nouveautés de java 7 et les promesses
Eric Toguem
 

Similaire à Les entrées sorties (20)

Gestion d'E_S - Sérialisation.pdf
Gestion d'E_S - Sérialisation.pdfGestion d'E_S - Sérialisation.pdf
Gestion d'E_S - Sérialisation.pdf
 
log file sous Netbeans et J2ME
log file sous Netbeans et J2MElog file sous Netbeans et J2ME
log file sous Netbeans et J2ME
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Formation python
Formation pythonFormation python
Formation python
 
Formation python
Formation pythonFormation python
Formation python
 
Go
GoGo
Go
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptx
 
Les nouveautés de java 7 et les promesses
Les nouveautés de java 7  et les promessesLes nouveautés de java 7  et les promesses
Les nouveautés de java 7 et les promesses
 
Tour Horizont.Net
Tour Horizont.NetTour Horizont.Net
Tour Horizont.Net
 
Le système d’E/S en Java
Le système d’E/S en JavaLe système d’E/S en Java
Le système d’E/S en Java
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
 
Programmation Android - 09 - Web services
Programmation Android - 09 - Web servicesProgrammation Android - 09 - Web services
Programmation Android - 09 - Web services
 
Cours C Avancé chapitre 2 et chapitre.pdf
Cours C Avancé  chapitre 2 et chapitre.pdfCours C Avancé  chapitre 2 et chapitre.pdf
Cours C Avancé chapitre 2 et chapitre.pdf
 
NIO 2
NIO 2NIO 2
NIO 2
 
Theme 8
Theme 8Theme 8
Theme 8
 
Présentation nouveauté java7
Présentation nouveauté java7Présentation nouveauté java7
Présentation nouveauté java7
 

Les entrées sorties

  • 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.  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.  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.  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. 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.  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. 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. 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.  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. 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.  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( ) ; } }