IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

afficher contenu BufferedOutputStream


Sujet :

Entrée/Sortie Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 193
    Par défaut afficher contenu BufferedOutputStream
    Salut!!

    Je voudrais savoir comment afficher le contenu d'un BufferedOutputStream!

    Je crée le buffer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	BufferedOutputStream bis = new BufferedOutputStream(new FileOutputStream(nom_du_fichier));
    puis j'écris dans le buffer avec la méthode:
    Je voudrais maintenant visualiser le contenu du fichier "nom_du_fichier" mais j'y arrive pas!!

    Merci pour votre aide!!!!!

  2. #2
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Salut
    pour lire dans ton fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	BufferedIntputStream bis = new BufferedIntputStream(new FileIntputStream(nom_du_fichier),512);
    et ensuite sans oublier

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 193
    Par défaut
    J'ai essayé la fonction bis.read() mais elle ne peut pas lire mon fichier : je crois que le problème provient du fait que l'écriture ne se fait pas ou que à chaque fois que j'écris un caractère, il est écrasé par le suivant!!

    Est ce que quelqu'un aurait une idée sur le principe de fonctionnement de la fonction bis.write() ou une éventuelle cause à mon problème?

    Merci!!!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Par défaut
    Tu as essayé de mettre :

    après ton :


  5. #5
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    tu peux poster juste la partie ou tu ecris dans ton fichier?

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 193
    Par défaut
    J'ai pas compris ta question mais voici le code que j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
    String str = new String();
     
    	String strcomp = new String();
     
     
    	boolean found = false;
     
    	str = mon_fic.getAbsolutePath();
     
    	strcomp = fic1.getAbsolutePath();
     
    	BufferedInputStream bis = new BufferedInputStream(new FileInputStream(str)); 
     
    	BufferedOutputStream biscomp = new BufferedOutputStream(new FileOutputStream(strcomp));
     
     
        int i,j=0;	
     
        while ((i = bis.read()) != -1) {
     
     
    		while(found == false)	
    		{
     
    			if (tab[j][j] != i)
    			{
    				j++;
    			}
     
    			else
    			{
    				found = true;
     
    				biscomp.write(tab[j][j+1]);
    				biscomp.flush();
     
     
    			}
     
    		}
     
     
     
    		}
     
     
    	BufferedInputStream biscomp1 = new BufferedInputStream(new FileInputStream(strcomp)); 
     
     
    	int k = 0;
     
        while ((k = biscomp1.read()) != -1) {
     
     
        	biscomp1.read();
        }
    P.S:le tab[][] est un tableau que j'utilise pour tester

    J'espère que c'est plus compréhensible maintenant.

    Merci!!!

  7. #7
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour
    Bon je resume tu as 2 fichiers mon_fic et fic1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(str)); 
    BufferedOutputStream biscomp = new BufferedOutputStream(new FileOutputStream(strcomp));
    pour etre propre tu peux tester si ton chemin str est valide
    Apres tu lis dans bis mais qu'est ce que fais avec ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    			if (tab[j][j] != i)
    			{
    				j++;
    			}

    tu lis dans ton buffer mais tu le recuppere dans quoi? et apres ta matrice tab contient quel données?
    Soit je fais un petit test avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      byte[]tab=new byte[512];
      int i,j=0;
      while ((i = bis.read(tab)) != -1)
        biscomp.write(tab);
    Et a la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        while ((k = biscomp1.read()) != -1)
            	biscomp1.read();
    tu l'affche pas j'aurais fait plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(biscomp1.read());
    Au fait tu essaie de copier un fichier dans un fichier? ou le contenu de ta matrice tab dans un fichier?
    @+

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 193
    Par défaut
    Ma matrice contient des caractères que j'utilise pour tester le contenu de mon fichier en input:je parcours le fichier caractère par caractère, et je compare chaque caractère avec le contenu de ma matrice:quand je trouve une correspondance, j'écris le t[j][j+1] dans le fichier en output.

    tu lis dans ton buffer mais tu le recuppere dans quoi
    Je lit dans buffer et je récupère le int lu dans la variable "i" qui est comparée après avec le contenu de t[j][j]

  9. #9
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Quand tu fais ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     while ((i = bis.read()) != -1)
    A ma connaissance la variable ine recuperere pas le int lu comme tu le dis mais la variable est censé retourné le nombre d'octés du fichier et -1 au cas ou la fin du fichier serait attiente
    @+

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 193
    Par défaut
    J'ai déjà essayé le i = bis.read() dans une autre portion du code et i prend la valeur des caractères (leur code Ascii) un par un en parcourant le fichier!!

    Je ne comprends pas ce qui se passe ici!!!


    Voila le code que j'utilise dans l'autre portion et qui lui marche!!:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(filename)); 
     
    		frequences = new int[256];
    	}
     
    	int read() throws IOException {
    		int i,j=0;
    		while ((i = bis.read()) != -1) {
     
    			frequences[i]++;
    			j++;
    		}
    		return j;
    	}

Discussions similaires

  1. Sauvegarder page Web + afficher contenu partiel
    Par GoldenEye dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/07/2006, 15h19
  2. [JOptionPane] Afficher contenu BufferedReader
    Par groovyroe dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 15/06/2006, 10h21
  3. Pb Affiche contenu Recordset dans zone de liste
    Par stan314 dans le forum Access
    Réponses: 5
    Dernier message: 11/05/2006, 16h53
  4. Réponses: 2
    Dernier message: 09/09/2005, 10h06
  5. [process] Afficher contenu gestionnaire des tâches
    Par keny dans le forum C++Builder
    Réponses: 3
    Dernier message: 07/07/2005, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo