UDP et InetAdress travaillant avec une IP sous forme d'un tableau de byte[] comme cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
InetAddress address = InetAddress.getByAddress({(byte)192, (byte)168, (byte)0, (byte)2});
DatagramPacket packet = new DatagramPacket(out, out.length, address, 33333);
Enfin je dois convertir cette adresse en une String de la forme :
... pour écriture dans un fichier.


Et bien le code ci-après :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 String strIp = "";
 
for (int i = 0; i < ip.length; i++)
{
    strIp += String.valueOf(ip[i]) + ".";
    System.out.print("IP => " + strIp);
}
 
getTableInit().put(CLE_IP_UDP, strIp.substring(0, strIp.length() - 1));
... écrit dans le fichier la valeur suivante :

Cela semble normal puisque un byte couvre la plage -128 à 127.

Alors comment faire pour convertir un byte > 127 en un int > 127, et vis versa ?

Merci d'avance.