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();
        }
    }