Traducir este código de C# a Java

Iniciado por TickTack, 22 Abril 2020, 14:51 PM

0 Miembros y 1 Visitante están viendo este tema.

rub'n

Cita de: TickTack en  5 Junio 2020, 21:44 PM
Hola rub'n y @XSStringManolo,

muchísimas gracias por su ayuda. Yo solamente lo copie y lo pegue pero me larga error :(

Puede ser que tenga que ver con el IDE? Yo estoy usando AIDE. Quizás si ustedes lo prueban ahi puedan ver que también les larga errores...


Muchísimas gracias y saludos

Bien hommie, pero como tienes el codigo actual, log de error etc.


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

TickTack

Hola rub'n,

el problema es que AIDE no soporta JDK 8. Solo tiene hasta JDK 7.

Es por eso que en tu caso el código que tradujiste te funciona bien.

¿Se podría traducirlo para JDK 7?


Gracias y saludos
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

rub'n

#12
https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

el codigo que te puse mas arriba en mi primera respuesta, deberia funcionarte con la jdk 7 tranquilamente.

Ahora como tendras tu el codigo? si te faltaba un parentesis y ni avisaste si resolviste eso precisamente.  :xD


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

TickTack

Perdón que recién ahora te escribo pero te cuento:

Este código me funcionó:


public static byte[] Decompress(byte[] data) throws IOException
{
try (InputStream ms = new ByteArrayInputStream(data);
InflaterInputStream s = new InflaterInputStream(ms);
ByteArrayOutputStream baos = new ByteArrayOutputStream();) {
byte[] buf = new byte[8192];
for (int r = s.read(buf); r != -1; r = s.read(buf))
baos.write(buf, 0, r);
return baos.toByteArray();
}
}


El otro no funciona a pesar de haber revisado muchas veces si faltaba un paréntesis u otro signo....
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

rub'n

Cita de: TickTack en 21 Julio 2020, 00:59 AM
Perdón que recién ahora te escribo pero te cuento:

Este código me funcionó:


public static byte[] Decompress(byte[] data) throws IOException
{
try (InputStream ms = new ByteArrayInputStream(data);
InflaterInputStream s = new InflaterInputStream(ms);
ByteArrayOutputStream baos = new ByteArrayOutputStream();) {
byte[] buf = new byte[8192];
for (int r = s.read(buf); r != -1; r = s.read(buf))
baos.write(buf, 0, r);
return baos.toByteArray();
}
}


El otro no funciona a pesar de haber revisado muchas veces si faltaba un paréntesis u otro signo....

Pues algo estabas haciendo mal XD,

Aquí la diferencia es la clase InflaterInputStream, que es súper clase de GZIPInputStream, XD


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

TickTack

Me rasque la cabeza y me salió caspa.

Jajajaja

Ni idea que es lo que habré hecho mal. Pero bueno, te agradezco que me hallas ayudado, eh?
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."