salut à tous,
voilà je veux checker grace à une boucle si un fichier apparait sur un ftp, bon alors déjà vous remarquerez que j'ai commenté la boucle pour me limiter au simple test de présence du fichier (il est donc déjà sur le serveur ftp et s'appelle "test.xml"), la page me renvoit tout le temps le listing du ftp avec "fichier non trouvé" alors qu'il est bien présent...voici mon code :
voilà le résultat de l'éxecution de cette page jsp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <%@ page import="java.io.*"%> <%@ page import="java.lang.*"%> <%@ page import="java.util.*"%> <%@ page import="sun.net.*"%> <% try { sun.net.ftp.FtpClient client = new sun.net.ftp.FtpClient(); client.openServer("ip LAN du ftp"); client.login("mon user","mon pass" ); client.binary(); client.cd("upload"); int ch; int trouve=0; StringBuffer sb = new StringBuffer(); //while(trouve!=1) //{ TelnetInputStream tisList = client.list(); while((ch = tisList.read()) >= 0) { String s = (new Character((char) ch)).toString(); sb.append((char)ch); } StringTokenizer st = new StringTokenizer(sb.toString()); out.println(sb); try { while (st.hasMoreTokens()) { if (st.nextToken().equals("test.xml")) trouve = 1; else trouve = 0; } } catch (NoSuchElementException e) {} //} if(trouve==1) { out.println("fichier de retour trouvé !"); // client.closeServer(); // response.sendRedirect("ONLcheckxml.jsp"); } else out.println("fichier de retour non trouvé !"); } catch (Exception e) { out.println("Erreur: " + e.toString()); } %>
merci d'avance aux futures reply
Code : Sélectionner tout - Visualiser dans une fenêtre à part ---------- 1 ftp ftp 0 Aug 30 08:09 test.xml ---------- 1 ftp ftp 382 Aug 29 08:37 test2.xml fichier de retour non trouvé !
Partager