Buenas;
Tengo un inconveniente; mi programa de JAVA recibe parametros desde la impresora (esta le pasa estados de la misma) dentro de un byte[ ], yo esto lo proceso y lo convierto a String para pasarlo luego por XML a otro programa que muestra los distintos estados.
Actualmente el metodo que convierte a String es como sigue
private byte[] printerStats = new byte[0];
public String getFormattedPrinterStats()
{
StringBuilder b = new StringBuilder();
for (byte by : printerStats)
{
b.append(Byte.valueOf(by));
}
return b.toString().substring(0, b.length() - 0);
}
Y su retorno seria : 00000000 (esto en caso de que este todo ok, pero puede retornar otros valores como 1, 2, 53 (esto en cada posición))
Ahora me pidieron que este retorno sea de 2 caracteres cada posición. Y me sugirieron hacer un padding left para agregar un "0" por ejemplo.
Estuve dando vueltas pero no consigo que quede como quieren, alguna idea. Probe con el insert luego del b.append(Byte.valueOf(by)); pero en este caso si viene con un dígito por ejemplo 1, me lo resuelve dando como resultado 01, pero en caso de que venga con dos dígitos, ejemplo 53 me lo deja 053, y quiero que sea solo 53.
Por favor, si me pueden echar una mano para encontrar una solución.
Saludos.