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

Facebook Comments

1 comment
  1. Fede
    Fede
    diciembre 1, 2012 at 11:09 am

    maldito google -.-

    Reply
Leave a Reply

Your email address will not be published. Required fields are marked *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Do NOT follow this link or you will be banned from the site!
WP Facebook Auto Publish Powered By : XYZScripts.com