convertir byte[] a String Java

bytes

Trabajando con mysql y java me ha salido que el tipo de dato es byte, y me he quedado bien wtf!, ya que según yo era String, pero bueno he encontrado la solución rapidamente.

Para transformar un byte[] a String esta bien sencillo solo haz lo siguiente:
[cc lang=”java”]
//Tu variable tipo byte[]
byte[] misBytes = new byte[10];
//.. asignar valores a misBytes
//convertir a string
String miString = new String(misBytes);
[/cc]

como sucedio:

  1. Cree una vista en mysql la cual contenia un campo concatenado
    [cc lang=”sql”]create view ‘vista’ as (select concat(tabla.campo1, tabla.campo2) as campo3 from tabla); [/cc]
  2. cree la consulta desde desde java
    [cc lang=”java”] String sql = “Select campo3 from vista”; [/cc]
  3. la consulta me regreso un ResultSet y lo recorri
    [cc lang=”java”] ResultSet rs = statement.executeQuery(sql);
    while (rs.next()) {
    String campo3 = rs.getString(“campo3”); //segun yo era string
    } [/cc]
  4. Me marco una excepcion de casting de datos y me quede wtf que coño es B
    [cc lang=”java”] B cannot be cast to java.lang.String [/cc]
  5. Para estar seguro que significaba la B(desconocia su significado) hice lo siguiente: [cc lang=”java”]Object obj = rs.getObject(“campo3”);
    System.out.Println(obj.getClass.getCannonicalName); //asi me da el nombre de la clase[/cc]
  6. y el resultado fue byte[], luego investigue por que byte[] segun decia que el tipo de dato concat es VARBINARY entonces para convertir un arreglo de bytes a String haces lo siguiente:
    [cc lang=”java”]
    byte[] obj = rs.getBytes(“campo3);
    /*donde obj es nuestro arreglo de byte[] la clase String tiene un constructor que recibe de parametro un arreglo de bytes y hace la conversion.
    si recorres el arreglo de bytes veras que son puros numeros, esos numeros son su codigo ascii.
    */
    [/cc][cc lang=”java”]
    byte[] myBytes = rs.getBytes(“campo3);
    String campo3 = new String(myBytes);
    [/cc]
  7. Listo ya convertiste byte[] a String 😛

espero que a alguien le sea de utilidadd como me lo fue a mi 🙂

Fuentes a las que acudi:
mysql
convert by to String

Comentarios

  1. Fede dice:

    maldito google -.-