begin process at 2008 09 06 20:02:43
1 237 931 membres
313 nouveaux aujourd'hui
14 314 membres club

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 : demande de correction [ Archives / Au secours ] (Cori_java)

demande de correction le 07/07/2004 12:25:54

Cori_java
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

Re : demande de correction le 07/07/2004 13:12:05

bidani
salut
je peux me tromper mais avec sleep() pour avoir 10 minutes c pas plutot 10*60*1000=600000?

Re : demande de correction le 07/07/2004 13:13:12

dmaillet
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
-------------------

Re : demande de correction le 07/07/2004 13:23:22

neodante
(Admin CS)

Neodante

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]

Re : demande de correction le 07/07/2004 13:24:50

neodante
(Admin CS)

Neodante

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]

Re : demande de correction le 07/07/2004 13:36:50

Cori_java
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

Re : demande de correction le 07/07/2004 14:06:26

dmaillet
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
-------------------

Re : demande de correction le 07/07/2004 14:21:58

Cori_java
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

Re : demande de correction le 07/07/2004 15:21:04

dmaillet
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
-------------------

Re : demande de correction le 07/07/2004 15:34:36

dmaillet
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
-------------------


[Page 1 Page 2]
Classé sous : message, public, string, repertoire, orep

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS