En gros je lis un fichier, qui contient par exemple:
# xmcd
#
DISCID=c10ab60e
DTITLE=Katherine Jenkins / Premiere
TTITLE0=Java
PLAYORDER=
Ce qui est en bleu dans ce qui suit me permet d’afficher ce qui suit après DTITLE=
Ce qui est en rouge est censé afficher ce qu’il y a après TITLE0= ,
mais apparemment ca sort de la boucle dès que ca a trouvé ce qui est en bleu. Si vs savez pq, dites le moi !
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 package serveur; import java.net.*; import java.io.*; public class ClientThread extends Thread { private Socket socket; private static String START = "DTITLE="; private static String TTITLE0 = "TTITLE0="; /** Creates a new instance of ClientThread */ public ClientThread(Socket clientSocket) { this.socket = clientSocket; } public void run() { try { PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); String s; String discId; discId = in.readLine(); BufferedReader bf = new BufferedReader(new FileReader(discId)); s = bf.readLine(); while ((s = bf.readLine()) != null) { if (s.startsWith(START)) { out.println("s est" + s.substring(START.length())); } if (s.startsWith(TTITLE0)) { out.println("TITLE0 est " + s.substring(TTITLE0.length())); } } System.out.println("Request for:" + discId); out.println("s est " + s); out.println("Answer"); out.close(); in.close(); socket.close(); } catch (Exception e) { e.printStackTrace(); } }
Partager