Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème d'écriture supplémentaire lors d'un couper coller en java [ Divers / Débutant(e) ] (beberto56)

mercredi 16 avril 2008 à 16:57:49 | Problème d'écriture supplémentaire lors d'un couper coller en java

beberto56

Bonjour excusez moi mais la je suis bloqué,

J'ai créé un programme qui execute automatiquement un couper coller entre deux répertoires de la même racine, et mon problème est que:

- lors du couper coller le programme écrit un ÿ dans le fichier et je ne comprend pas pourquoi c'est à dire que si j'ai test1 dans mon fichier txt, après couper coller je me retrouve avec un test1ÿ

si quelqu'un peut modifier mon code et/ou me conseiller  je lui en serais  reconnaissant.

Voici mon code:

 package applicationcopiercoller;


//Importation des package utilisateur de l'API Java
import java.awt.Toolkit;
import java.io.*;
import javax.swing.*;
import javax.swing.JOptionPane;;

public class SurveillanceRepertoire extends javax.swing.JFrame {

(.... code alloué à la Jframe)
}
//Déclaration de la classe CheckAndCopy héritée du Thread
class CheckAndCopy extends Thread implements Runnable
{
   
    //Déclaration de variables
    static File toCut  = null ;
    static File toPast = null ;
   
    public CheckAndCopy()
    {
       
    }
    @Override
    public void run()
    {
        try
        {

            synchronized ( this )
            {
                while ( true )
                {
                    File[] srcList = SurveillanceRepertoire.srcDir.listFiles();
                       
                     //mise en place tableau
                     for ( int i = 0 ; i < srcList.length ; i ++ )
                        {
                            System.out.println(srcList[i].getAbsolutePath());
                   
                            //déclaration du type de fichier entrant
                            if (srcList[i].getAbsolutePath().endsWith(".txt"))
                            {
                                //Couper fichier(s) arrivant
                                toCut = srcList[i];
                           
                                //Coller fichier(s) sortant
                                toPast =new File
                                (SurveillanceRepertoire.desDir.getAbsolutePath()
                                +java.io.File.separator+toCut.getName());
                           
                                //Si l'objet toPast existe
                                if ( ! toPast.exists() )
                                {
                           
                                //Déclaration des flux d'entrer/sortie fos
                                //et fis pour permettre le transfert de fichier
                                FileInputStream fis =
                                        new FileInputStream(toCut);  
                                FileOutputStream fos =
                                        new FileOutputStream(toPast);
                           
                                    try
                                    {
                                        //Déclaration d'un entier f mis à 0
                                        int f = 0 ;
                                        //Tant que f est différent de -1
                                        while( f != -1 )
                                        {
                                            //On éxécute
                                            System.out.println(f+"");
                                            //Lecture en entrée
                                            f = fis.read();
                                            //Ecriture en sortie
                                            fos.write(f);
                                       
                                        }
                               
                                    }
                       
                                    finally
                                    {
                           
                                        fis.close();
                                        fos.flush();
                                        fos.close();
                                        //effacement du fichier source
                                        toCut.delete();

                                    }

                                }
                            }
                   
                    }
                    //Temps d'attente entre deux déplacements
                    wait(SurveillanceRepertoire.wait*1000);
                   
                   
                }
            }
        }
        //Gestion des éxceptions(erreur)
        catch ( Exception e)
        {
            e.printStackTrace();
            Toolkit.getDefaultToolkit().beep();
            JOptionPane.showMessageDialog(null , "Erreur \n"+e.getMessage()
                                          ,"Erreur",JOptionPane.ERROR_MESSAGE);
            System.exit(0);
        }
    }   
}


Je pense que l'écriture du ÿ se passe au moment de la réécriture dans le nouveau répertoire mais je ne comprend pas comment cela est possible.

Merci d'avance parce que la je suis dépasser.

Beberto56.

mercredi 16 avril 2008 à 17:43:32 | Re : Problème d'écriture supplémentaire lors d'un couper coller en java

Nikoui

Réponse acceptée !
Le problème est ici :

                                        while( f != -1 )
                                        {
                                            //On éxécute
                                            System.out.println(f+"");
                                            //Lecture en entrée
                                            f = fis.read();
                                            //Ecriture en sortie
                                            fos.write(f);
                                       
                                        }

Si f == -1, tu sors de ta boucle (ok) mais juste avant tu écris quand même f dans le fichier de sortie... (pas ok).


Working as designed
www.nikoui.fr

mercredi 16 avril 2008 à 19:16:00 | Re : Problème d'écriture supplémentaire lors d'un couper coller en java

gmi19oj19

Membre Club
Réponse acceptée !


Salut,

Du coup, faut faire ça :

//Lecture en entrée
   f = fis.read();
   while( f != -1 ){
   //On éxécute
   System.out.println(f+"");
   //Ecriture en sortie
    fos.write(f);
//Lecture en entrée
  f = fis.read();
     }

gmi19oj19

jeudi 17 avril 2008 à 08:51:08 | Re : Problème d'écriture supplémentaire lors d'un couper coller en java

beberto56

Réponse acceptée !
Bonjour,

je vous remerci tous les deux pour vos conseils qui m'ont été précieux
Mon programme tourne d'enfer.
Merci et a +.

Julien



Cette discussion est classé dans : fichier, java, déclaration, coller, couper


Répondre à ce message

Sujets en rapport avec ce message

déclaration d'une fonction dans un fichier java [ par moooonaaaa ] Salem, j'ai besoin de faire une fonction dans un fichier .java mais cette fonction ne fait pas partie de la classe. cette fonction me permet de retour [Swing] Couper, Copier, Coller... [ par Pimousse77 ] Bonjour,je me pose une question bête :La plupart des composants Swing gèrent le copier coller, mais ceci est "natif" à Java. Qu'en est t'il si l'on ve comprends pas mon erreur au morpion 10*10 [ par nicoworld ] Voici mon code et je galère dans la méthode vérifie...ca complile et change bien de couluer mais par contre ne veut pas marquer le joueur qui a gagné comment sauvegarder periodiquement des données ? [ par Jarod1980 ] Jarod_DelawareBonjour,Voilà je débute en java et je voudrais savoir comment sauvegarder périodiquement des données dans un fichier.Mon programme consi Probleme d'écriture dans un fichier avec une applet [ par nagty ] Bonjour,Nous sommes débutant en java et nous rencontrons quelques problèmes de fichiers concernant notre applet java. En effet, celle-ci doit pourvoir extraire un texte d'un fichier avec java [ par petit sorcier ] je voudrais extraire un texte se trouvant dans un fichier texte entre deux mots clés, en utilisant jbuilder et l'afficher. je ne sais pas comment m'y Etudiant en detresse !! Package Java [ par yann896 ] Bonjour a tous,Voilà mon problème. J'ai un projet a réaliser et je dois le rendre dans un package java bien défini: source/com/ourco/Muti2/etc...Bref, exécutez un fichier cmd en java [ par kevin95463 ] Bonjour,je cherche la commande en java pour exécuter un fichier .cmd (je veux lancer à partir d'un programme java un script de commandes pour créer un


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,156 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.