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 :

Sauvegarde sur disque d'un FileOutputStream


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Sauvegarde sur disque d'un FileOutputStream
    Hello !

    Je suis en train de créer un petit programme qui peut modifier des images BMP que je stocke dans un FileOutputStream. Jusque là pas de problème ...
    Mais j'aimerais maintenant sauvegarder sur disque cette nouvelle image. Comment puis-je faire ? J'ai utiliser la méthode Write mais je n'y arrive pas ...

    Quelqu'un aurais une petite astuce ?

    Merci !

    [ Modéré par Bulbo ]
    Ajout d'un tag dans le titre
    Les Règles du Forum

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2002
    Messages : 125
    Points : 150
    Points
    150
    Par défaut
    tu as fais un close a la fin de tes write ?
    ne ré-inventez pas la roue, allez chercher dans les Commons de Jakarta

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    oui ...

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2002
    Messages : 125
    Points : 150
    Points
    150
    Par défaut
    et tu obtiens quoi a la fin ?
    pas de fichier ? un fichier vide ? un fichier avec des trucs bizarres dedans ?
    ne ré-inventez pas la roue, allez chercher dans les Commons de Jakarta

  5. #5
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Points : 139
    Points
    139
    Par défaut
    As-tu essayé de faire un flush() sur ton FileOutputStream ?

  6. #6
    Candidat au Club
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    quand je l'enregistre tout se passe bien. J'ai : monfichier.bmp

    Mais quand je veux l'ouvrir sous paint il me dit qu'il ne reconnait pas le format, il dit que mon fichier est invalide ...

  7. #7
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Points : 139
    Points
    139
    Par défaut
    Je ne connais pas bien ce format, mais es-tu sur de respecter les entêtes ?
    Sinon pose ton code qu'on y voit un peu plus clair.

  8. #8
    Candidat au Club
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Le voici :

    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
     
    private void jBEnregistreActionPerformed(java.awt.event.ActionEvent evt) {
            /*Creer FileChooser*/
            JFileChooser fc = CtrCacher.ouvrirFileChooser();
            int returnVal = fc.showSaveDialog(ResCacherVue.this);
            //Si Valider
            if ( returnVal == JFileChooser.APPROVE_OPTION){
                //Retourne le nom du fichier sélectionné et son path
                File file = fc.getSelectedFile();
                //si le nom du fichier existe déjà --> demande confirmation
                if (file.exists()){
                    int reponse = JOptionPane.showConfirmDialog (null, "effacer le fichier existant?", "Confirmer la réecriture",JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
                }
                //récupère le path
                String path = file.getPath();
     
                try {
     
                    FileOutputStream fichier = new FileOutputStream(path);
                    ObjectOutputStream objet = new ObjectOutputStream(fichier);
                    objet.writeObject(jLIResultat.getIcon());
                    objet.close();
                }catch(IOException io){}
            }
        }
     
    public static JFileChooser ouvrirFileChooser(){
            //Creation du filtreChooser.
            if (fc == null) {
                fc = new JFileChooser();  
                //Ajout du filtre sélectionnant uniquement les bmp
                fc.addChoosableFileFilter(new FiltreImage());
                fc.setAcceptAllFileFilterUsed(false);
                }
            return fc;
        }

  9. #9
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    à travers mes nombreuses érreurs en Java, je crois que j'ai compris un truc dnc voilà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    objet.writeObject(...);
    ça je crois que ça Serialize un objet, hors ça ne correspond pas dutout au "vrai" format BMP. Il faudrait donc utiliser un Stream spécialisé dans les formats d'images et c'est donc là que s'arrette mes connaissances en Java

  10. #10
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Points : 139
    Points
    139
    Par défaut
    Quel est le but de ton programme ? Est-ce de dupliquer des images BMP ?
    Désolé si je n'ai pas bien compris, mais tout ca me semble flou

  11. #11
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Le code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                    FileOutputStream fichier = new FileOutputStream(path);
                    ObjectOutputStream objet = new ObjectOutputStream(fichier);
                    objet.writeObject(jLIResultat.getIcon());
                    objet.close();
    ...doit devenir...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ImageIO.write(jLIResultat.getIcon().getImage(), "BMP", file);
    Romain Guy
    Android - Mon livre - Mon blog

Discussions similaires

  1. Sauvegarde sur disque d'une classe
    Par AlfredKr dans le forum Débuter
    Réponses: 6
    Dernier message: 14/07/2014, 12h58
  2. Sauvegarde sur disque physique ou disque reseau
    Par Maxencebr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/05/2011, 22h27
  3. recuperer une image sauvegardée sur disque dur
    Par tatikambwa dans le forum C#
    Réponses: 3
    Dernier message: 28/05/2008, 11h21
  4. Sauvegarde sur disque dur externe USB2.0
    Par Emcy dans le forum Composants
    Réponses: 5
    Dernier message: 29/04/2008, 09h02
  5. Réaliser une sauvegarde sur disque dur
    Par canary dans le forum Langage
    Réponses: 7
    Dernier message: 05/01/2008, 17h55

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