begin process at 2012 02 14 09:34:48
  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 déclaration d'un fichier en java [ par fahdmustapha ] bonsoir à tous j'aimerai savoir comment déclarer un fichier en java et comment le manipuler merci Carnet d'adresse en java [ par toledo9 ] Bonjour, Je suis débutant en langage Java et j'aimerais faire un petit programme "Carnet d'adresse" : Fichier de contacts professionnels Je souhait Représentation graphique en utilisant java [ par horka ] Bonsoir tout le monde, Je suis entrain de développer une application java qui permet de parcourir un fichier dtd (definition type of document). J'ai r enregistrer des objets dans un fichier java [ par help26 ] bonjour , je suis debutante en java et j'ai un projet de gestion d'employés , et quand je veut enregistrer un objet (employé) dans un fichier juste l Déclaration de String en JAVA [ par javazer ] Salut! Je veux déclarer une chaine de caractères de longueur 10 commençant par la lettre 'A' public StringBuffer chaine=new StringBuffer(10); chaine. preciser le font d un texte en java [ par jafrabousselmi ] Bonsoir Je veux copier le contenue d un formulaire en java dans un fichier rtf et je veux preciser le font d ecriture et l emplacement qui doit s affi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,983 sec (4)

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