Demande de correction

Cori_java Messages postés 15 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 8 juillet 2004 - 7 juil. 2004 à 12:25
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 - 8 juil. 2004 à 10:57
Slt,
voila je fais une appli qui doit scanner un lecteur reseau verifier la presence ou non de fichier.
si il y en a un attendre 10min et rescanner le repertoire si il est toujours la envoyer un mail sinon relancer l'appli.
si il n'y a pas de fichier il faut ke l'appli se relance.
voila mon code si vous pouvez me le corriger merci:

/SearchFile.java
import.java.io.*;
import.java.util.*;

public class SearchFile{
String Rep, nameFich;
File oRep;

public static Scan(String[] args){
String Rep = "//par...."; //chemin du repertoire à lister
File oRep = new File(Rep);
List[] oList = oRep.listFile(new MyFileNameFilter());
//liste des fichiers.txt présents dans le repertoire listé
}

public static void main(String[] args] {
//appel de la methode scan
oRep.Scan(Rep);
//on verifie si il y a un ou plusieurs fichiers dans le repertoire et on recupere leurs noms
for ( int i = 0 ; i < oList[i].length ; ){
String[] nameFich=oList[i++].getName();
//si il y a au moins un fichier alors lancer le compteur de 10min
if (int i > 0; i<list.length; i++){
MonThread t1 = new MonThread();
t1.start();
//si le ou les fichier(s) sont encore dans le repertoire
if (oList[i].equals(nameFich)){
//alors envoyer un mail et relancer l'application
SendMail.envoyerMailSMTP("10.10.50.8",true);
return;
else //sinon relancer l'application
return;
}
}
}
}


public class MyFileNameFilter implements FileNameFilter {
/**
* Méthode acceptant seulement les fichiers .txt
*/
public boolean accept(File oRep, String nameFich) {
if(nameFich.endsWith(".txt"){
return true;
}
return false;
}
}

public class SendMail {
private final static String MAILER_VERSION = "Java";
public static boolean envoyerMailSMTP(String serveur, boolean debug) {
boolean result = false;
try {
Properties prop = System.getProperties();
prop.put("mail.smtp.host", serveur);
Session session = Session.getDefaultInstance(prop,null);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("m@moi.com"));
InternetAddress[] internetAddresses = new InternetAddress[1];
internetAddresses[0] = new InternetAddress("mo@moi.com");
message.setRecipients (Message.RecipientType.TO,internetAddresses);
message.setSubject("Attention problème avec un fichier");
message.setText("ce fichier est toujours dans le repertoire:",+ nameFich);
message.setHeader("X-Mailer", MAILER_VERSION);
message.setSentDate(new Date());
session.setDebug(debug);
Transport.send(message);
result = true;
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
return result;
}

public class MonThread extends Thread
boolean oK = true;{

public void run(){
while(oK){
try{
sleep(60000); //attends 10min et scanne le repertoire
oRep.Scan(Rep);
}
catch(InterruptedException e)
{ }/*Une InterruptedException ou juste Exception doit etre catchée mais j'en fais rien dans mon ex*/
}
}
}
}//

MERCI ENCORE POUR VOTRE AIDE
COCO RI CO

15 réponses

bidani Messages postés 78 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 10 août 2005
7 juil. 2004 à 13:12
salut
je peux me tromper mais avec sleep() pour avoir 10 minutes c pas plutot 10*60*1000=600000?
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
7 juil. 2004 à 13:13
Corriger ton code???
Bah tiens!
Serieusement, tu as un pb avec, si oui, dis nous ou et la on pourra p'etre t'aider...
Mais filer ton code comme ca et " allez, corrigez moi ca"
avoue que c'est pas terrible ...
-------------------
>:) dams >:)
-------------------
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
7 juil. 2004 à 13:23
:big) Neodante :big)

Non pour le sleep tu ne te trompes po ! c'est en milliseconde ... certains iront jusqu'à utiliser la thread avec des nanosecondes mais ca n'a jamais marché chez moi à tous les coups la milliseconde ... donc la nanoseconde !!! lol
@+

[Responsable www.neogamedev.com]
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
7 juil. 2004 à 13:24
:big) Neodante :big)

Damn quand est-ce que ix pensera à garder l'indentation et la coloration (optionelle mais indispensable ..) lorsque les personnes mettent des sources, c'est quand même vachement plus facile à lire .... coup de gueule rapide et pas méchant avant ma réunion cliente ... lol
@+

[Responsable www.neogamedev.com]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cori_java Messages postés 15 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 8 juillet 2004
7 juil. 2004 à 13:36
1)Merci neodante et merci aux autres aussi

2)dams je sais mais vu que j'y connais vraiment rien je suis bien obligé !!!
de plus je peux meme pas le tester car ils (le services infos)m'ont pas encore installer le JDK et je n'ai pas le droit de le faire moi même! voila pourquoi je donne mon code comme sa!
maintenant je comprends tout a fait que sa te saoule de passer du temps sur un pti truc comme sa qui te doit te paraitre facile mais sache que pour moi rien k'ecrire sa se fut l'enfer.
en esperant que des ames plus genereuses et desireuses d'aider son prochain prendront la peine de m'aider.
mais je conçois tt a fait que tu n'ai pas le temps ou tout simplement pas l'envie.
en te remerciant

COCO RI CO
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
7 juil. 2004 à 14:06
C'est pas l'envie qui me manque...
le temps peut-etre, mais on en trouive toujours.
c'est juste qu'une question du genre :
"je comprend pas ca ne marche pas avec ca"
serait plus appropriee...
mais si tu n'as pas teste ton truc, alors c'est normal...
Tu voulais savoir si ca marchait, c'est ca?
Ou bien tu sais qu'il y a un pb?
Dis-moi et je t'aiderais.
-------------------
>:) dams >:)
-------------------
0
Cori_java Messages postés 15 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 8 juillet 2004
7 juil. 2004 à 14:21
Bah vu que j'y connais rien il doit y avoir plusieurs problèmes lol
et j'aimerai en effet bien savoir si sa marche!

et si ce n'est pas le cas sur quelle partie du code je dois concentrer mes efforts a la recherche des solutions.

j'ai notamment un doute... au niveau des threads et de l'appel a la class scan (en fait je sais pas si sa scanne bien et je sais pas non plus si ma methode (equals) verifiant que le fichier est identique est bien ecrite).
merci pour tout

COCO RI CO
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
7 juil. 2004 à 15:21
Bon, je suis en train de tester ton truc (on dis merci!)
alors, y a une belle liste d'erreurs
je vais t'envoyer des correction au fur et a mesure si tu veux.
(NB: pour l'instant je ne compile pas, je corrige juste ta syntaxe...)

1/ les imports se font comme ca:
import java.io.*;
import java.util.*;

2/ ta methode statique n'est pas typee, donc tu mets void
public static void Scan(String[] args){

3/ erreur dans la declaration
public static void main(String[] args) {

4/ta classe mon thread implements Runnable, et la declaration du boolean apres l'entete
public class MonThread
implements Runnable {

boolean oK = true;

public void run() {
while (oK) {
try {
sleep(60000); //attends 10min et scanne le repertoire
oRep.Scan(Rep);
}
catch (InterruptedException e) {} /*Une InterruptedException ou juste Exception doit etre catchée mais j'en fais rien dans mon ex*/
}
}
}

-------------------
>:) dams >:)
-------------------
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
7 juil. 2004 à 15:34
Bon, ton truc va avoir du mal a marcher :
c'est un vrai capharnaum!!!!!!
y a du boulot mec...
je sais pas si je vais pouvoir tout faire!
tu as du temps?
Moi pas trop... Alors patiente!
-------------------
>:) dams >:)
-------------------
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
7 juil. 2004 à 16:23
:big) Neodante :big)

Manque toujours un 0 dans le Sleep pour faire 10 min : 1000 * 60 * 10 = 600000 ... voilà c tout ...
Connaissait pas le terme capharnaun !!! lol
Pour quoi ne pas installe run mini IDE gratos (JCreator ... beurk ... mais bon au moins il fait la syntaxe ... ou Ecli.... lol)
@+

[Responsable www.neogamedev.com]
0
Cori_java Messages postés 15 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 8 juillet 2004
7 juil. 2004 à 16:27
Merci DAMS lol

1/la correction est faite je sais pas pourquoi j'ai mis un "."
2/ok j'ai remedié au prb merci
3/erreur dans la declaration! OK mais sa signifie quoi?!! j'ai pas utiliser les bons arguments?! est ce que tu sais ou se situe l'erreur?
4/Merci j'ai resolu le prb

5/je sais que c un bo bordel lol
Merci de m'aider a m'en depetrer.
je t'avoue egalement que le temps me manque surtt que pour ecrire ce tas d' "erreurs" j'y es deja passé 6heures.

je crois que je suis pas au bout de mes peines. lol
merci pour tes corrections je patiente patiemment pour les suivantes
encore: M.E.R.C.I

ciao

COCO RI CO
0
Cori_java Messages postés 15 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 8 juillet 2004
7 juil. 2004 à 16:38
Merci NeoDANTE

j'avais deja modifié suite aux autres posts l'histoire du 0.
je ne peux malheureusement rien installer sur mon poste je ne suis pas administrateur de celui-ci (en gros j'ai pas les autorisations et les droits)
tu vois un peu comment je suis en chien !!!!
enfin grace a toi et dams je vais peu etre reussir a m'en tire, j'espere.

Merci les gars

COCO RI CO
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
7 juil. 2004 à 19:41
:big) Neodante :big)

Si tiu installes eclipse tu n'as pas besoin d'être administrateur -> c'est un simple copier déplacer ... en revanche ne met pas Eclipse 3.0 car il te faut le JDK 1.4 donc rabba toi sur la version 2.1 !!!
@+

[Responsable www.neogamedev.com]
0
Cori_java Messages postés 15 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 8 juillet 2004
8 juil. 2004 à 09:24
je vais voir si sa marche mais j'en doute vu que je crois ke j'ai meme pas le jdk 1.2....:[
Merci

COCO RI CO
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
8 juil. 2004 à 10:57
:big) Neodante :big)

Essaye quand même ... ca vaut toujours le coup d'essayer t'as rien à perdre mais tout à y gagner avec Eclispe ... lol
@+

[Responsable www.neogamedev.com]
0
Rejoignez-nous