Flux

Pacifique Mugwaneza
Flashcards by Pacifique Mugwaneza, updated more than 1 year ago
Pacifique Mugwaneza
Created by Pacifique Mugwaneza about 5 years ago
2
0

Description

Descriptions des flux en java

Resource summary

Question Answer
Que fait la classe File File -encapsule l'accès aux information caractérisant un fichier ou un repertoire -son constructeur est un String(chemin d'accès complet ou relatif au dossier ou fichier) -il retourne un handle
Que est l'utilité de file? - offre des méthodes pour créer, renommer ou supprimer un fichier ou un répertoire ou encore pour modifier leurs attributs.
Que sont les flux? la plupart des opérations d’entrées / sorties se font via des flux, - lecture clavier - affichage à l’écran, -lecture dans un fichier -l’envoi de données vers une machine distante
Les 4 classe abstraites des flux ? — InputStream, — OuputStream, — Reader — Writer
Quelle difference entre les classe de flux? les flux dérivés de InputStream ou Reader sont des flux en entrée, ceux héritant de OuputStream ou Writer sont quant à eux des flux en sortie.
Qu'on tout les flux en commum? close(), tous séquentiel
Qu'offrent les classe en sorties? Les flux en sortie fournissent la méthode flush() . Elle force le vidage dans le flux d’un tampon en écriture. /!\Remarquez qu’il n’est pas garanti que la méthode close() d’un flux en sortie appelle flush().
Qu'offrent les flux binaires en entrée et comment ça fonctionne? Toute classe dérivant de la classe InputStream doit implémenter la méthode read(). Celle-ci retourne un int dont l’octet de poids faible code l’octet lu dans le flux. Si la fin du fichier est atteinte, la valeur −1 est retournée. Cette méthode est bloquante.
Qu'offrent les flux caractère en entrée et comment ça fonctionne? La classe Reader est munie de la méthode read(). Celle-ci retourne un int dont les deux octets de poids faible codent le caractère lu dans le flux. Si la fin du fichier est atteinte, la valeur −1 est retournée. Un appel à cette méthode est bloquant.
Qu'offre les classes de sorties binaire? Toute classe dérivant de OutputStream doit implémenter la méthode write(int). Celle-ci écrit sur le flux l’octet de poids faible de l’int en argument
Qu'offre les classes de sorties caractères? La classe Writer est munie de la méthode write(int). Celle-ci écrit sur le flux le caractère stocké dans les deux octets de poids faible de l’int en argument.
Copier un fichier? ex File inputFile = new File("ressources/original.txt" ); File outputFile = new File("ressources/copie.txt"); try { FileInputStream in = new FileInputStream(inputFile); FileOutputStream out = new FileOutputStream(outputFile); int c; while ((c = in.read()) != −1) { out.write(c ); } in. close (); out. flush (); out. close (); } catch (FileNotFoundException fnfe) { System.err.println ( fnfe ); } catch (IOException ioe) { System.err.println (ioe ); }
Copier fichier de caractères ?ex File inputFile = new File("ressources/original.txt" ); File outputFile = new File("ressources/copie.txt"); FileReader in = null; FileWriter out = null; try { in = new FileReader(inputFile); out = new FileWriter(outputFile); int c; while ((c = in.read()) != −1) { out.write(c ); } } catch (FileNotFoundException fnfe) { System.err.println ( fnfe ); } catch (IOException ioe) { System.err.println (ioe ); } finally { // toujours exécuté : soit après try , soit après catch try { 35 if (in != null) { in. close (); } if (out != null) { out. flush (); close (); } } catch (IOException ioe) { System.err.println ("ioe" ); } } // fin du finally }
Que fait BufferedReader? et que permet 'il? BufferedReader permet de mettre en tampon et lire ligne par ligne par in.readLine()
Comment lire les infos de l'entrée standard avec le bufferedReader?? private static BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); String s = null; try { s = br.readLine(); } catch (IOException ioe) { System.err.println ("problème de lecture d’une chaine : " + ioe); } return s; System.in est converti en flux de caractères par inputStreamReader puis bufférisé par BufferedReader
Ecrire dans un fichier de caractère?? PrintWriter pw = null; try { pw = new PrintWriter( new BufferedWriter( 39 new FileWriter("ressources/sortieFichier . txt" )), true); //autoflush pw.println(s ); FileWriter car sortie de caractère BufferedWriter pour une question de performances PrintWriter pour le forcage de vidage de tempon à chaque fin de ligne
Ecrire dans un fichier binaire? DataOutputStream out = null; try { out = new DataOutputStream( new BufferedOutputStream( new FileOutputStream(nomFichier))); } catch (FileNotFoundException fnfe) { System.err.println ( fnfe ); System.exit(1); } try { for (int i = 0; i < lesPrix.length; ++i) { out.writeDouble(lesPrix[i ]); out.writeChar(’\t’ ); out.writeInt(lesQuantites[ i ]); out.writeChar(’\t’ ); out.writeChars(lesFruits [ i ]); out.writeChar(’\n’); // choix explicite de la marque de fin de ligne } out. close (); // flush automatique (voir javadoc) } catch (IOException ioe) { System.err.println (ioe ); System.exit(2); }
Lire dans un fichier binaire? DataInputStream in = null; try { in = new DataInputStream( new BufferedInputStream( new FileInputStream(nomFichier))); } catch (FileNotFoundException fnfe) { System.err.println ( fnfe ); System.exit(3); } try { while (true) { // et la fin de fichier ? prix = in.readDouble(); in.readChar(); // pour "passer" le "\t" quantite = in.readInt (); in.readChar(); // pour "passer" le "\t" char chr; fruit = new StringBuffer(20); while ((chr = in.readChar()) != ’\n’) { fruit .append(chr); } System.out.printf("Tu as acheté %d kg de %s à%.2f \u20AC le kg\n", quantite, fruit , prix ); total = total + quantite ∗ prix; } } catch (EOFException eof) { // détection de la fin de fichier : // pas vraiment dans l’ esprit des exceptions ! } catch (IOException ioe) { System.err.println (ioe ); System.exit(4); }
Les élements rentrant dans l'ecriture et la lecture de fichiers binaires? FileOutputStream-accéde BufferedOutputStream-Mettre les accès en tampon; DataOutputStream - L’écriture des données brutes binaires DataInputStream-pour le décodage FileInputStream-accéder au fichier BufferedInputStream-n’est pas obligatoire, mais bienvenu
Quelles éléments permettent la sérialisation d'objets? Pour l’être, il lui suffit d’implémenter l’interface Serializable Pour écrire un objet sur un flux, on utilise un ObjectOutputStream. Pour lire un objet sur un flux, la classe ObjectInputStream .
Comment sérialiser? public class Data implements Serializable { } // import java.io. Serializable ; private Data[] d = {new Data(rand.nextInt(10)), new Data(rand.nextInt(10)), 18 new Data(rand.nextInt(10))};
Write object ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream("worm.out")); out.writeObject("Worm storage\n"); out.writeObject(w); out. flush (); out. close ();
Read object
Show full summary Hide full summary

Similar

Java Week 5 Object Oriented Programming
Troy Bowlin
Java Practice 1
Ummm No
Java Practice 1
Shamama's Corner
Servion - Java Questionnaire
rohit.benedict
Java Core. Basics
Gadget
Java Practice 2
Ummm No
Programming Review
Shannon Anderson-Rush
Object Oriented Programming Concepts
Cmagapu
Herencias de clases
Manuel Espin