Java - Leer bytes de un html

 
Vista:

Leer bytes de un html

Publicado por angel (2 intervenciones) el 25/09/2007 08:34:32
Hola a todos, tengo un problemilla que me esta dando guerra:

Necesito leer el contenido de un fichero html en bytes para pasarselo a un web service en formato base64Binary. ¿Alguien me puede ayudar?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Leer bytes de un html

Publicado por angel (1 intervención) el 25/09/2007 11:42:16
Bueno, el fichero debes leerlo como cualquier otro fichero de texto.

Ejemplos de leer y escribir ficheros:
http://www.cica.es/formacion/JavaTut/Cap8/str_ent.html

Luego debes pasar los bytes leidos base64. Eso es facil:

sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
String ficheroB64 = new String(encoder.encode(byte[]));

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Leer bytes de un html

Publicado por angel (2 intervenciones) el 26/09/2007 07:40:02
Hola, gracias por el comentario. Al final lo consegui codificando directamente a base64, Dejo el código por si le sirve a alguien en un futuro:

import java.io.OutputStream;
import java.io.Writer;
import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;

String rutaDocumento = "C:" + File.separator;
String DocumentoBase64;

InputStream entrada = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();

BASE64Encoder encoder = new BASE64Encoder ();
BASE64Decoder decoder = new BASE64Decoder ();

byte[ ] almacenamiento = new byte[4 * 1024]; // 4K buffer
int bytesLeidos;
byte[] byteshtml;
is = new BufferedInputStream(new FileInputStream (new File(rutaDocumento + "prueba.html")));

while ((bytesLeidos = entrada.read(almacenamiento)) != -1) {
bos.write(almacenamiento, 0, bytesLeidos);
}

byteshtml = bos.toByteArray();

//Obtenemos un string con el fichero en base64.
DocumentoBase64 = encoder.encodeBuffer(byteshtml);

entrada.close( );
bos.close();

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar