begin process at 2010 03 20 09:38:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

Problème d'écriture supplémentaire lors d'un couper coller en java


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème d'écriture supplémentaire lors d'un couper coller en java

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ée 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 fichier xaml (expression blend) vers java [ par majong ] bonjour, est-il possible d'importer un fichier d'animation .xaml créer sous blend vers le java ? (sinon existe t-il un autre logiciel d'animation ?) JAVA-servlet-fichier excel [ par bonnetheim ] Bonjour, débutante dans un formulaire j'ai deux paramètres sélectionnés. en cliquant sur un bouton ca doit ouvrir un fichier excel avec ces deux apram phase de pre-processing en java [ par evoPrivacy ] salut; je voudrais realiser le travail du pre-processeur en java : le travail consiste a parcourir le fichier de mon code source caractere par caratac Données toujours présentes dans un fichier Java [ par rayban_022 ] Avec Java, comment faire pour que mes données chaîne soient enregistrées immédiatement dans mon fichier texte sans attendre l'appel à la fonction clos transfert de fichier entre deux pc avec java [ par youba2000 ] bonjours, j'ai une application qui sert a faire le crypter/décrypter un ficher avec un algorithme de CESAR, je chercher a échanger les fichier crypter du code compilé au code non compilé [ par dounatt ] slt, j'ai un code java compilé (fichiers .calss), comment je l'exécute, et comment je passe du fichier .classe au fichier non compilé (.java)


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales