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.
