Publicado por maitetxu en Abril 30th 2007
A pesar de que la continuidad de J# está mas que cuestionada, todavía puede ser útil para varias cosas entre ellas comprimir archivos.
Desarrollando una aplicación Web en .Net hemos tenido la necesidad de comprimir varios archivos en un fichero Zip y enviarlos al cliente Web de forma transparente para el usuario.
Existen numerosas librerías para trabajar con ficheros Zip, pero encontramos una forma sencilla de trabajar con los ficheros Zip desde un programa VB.Net (también válido para C#). El Framework 1.1 de Microsoft (y también el 2.0) incorporan el lenguaje J# que es un “pariente de Java”, luego “java.util.zip” debe existir en algún lado. Si alguien se pregunta si existe en C# la respuesta es no 
Efectivamente J# contiene “java.util.zip” y está dentro de “vjslib.dll”. Primero, nos aseguramos que tenemos en nuestro servidor/pc está librería, sino la tenéis podéis descargaros el “Paquete redistribuible de Microsoft Visual J# .NET versión 1.1” (o en inglés “Microsoft Visual J# .NET Version 1.1 Redistributable Package”) en esta dirección.
Añadiendo una referencia a la librería vjslib.dll en nuestro proyecto ya podemos utilizar las funciones que necesitamos para acceder a los ficheros zip como en el siguiente ejemplo:
Imports java.util
Imports java.util.zip
Imports java.io
‘ Función auxiliar que copia los bytes de un inputStream a un outputStream
Public Shared Sub CopyStream(ByVal inputStream _
As java.io.InputStream, _
ByRef outputStream As java.io.OutputStream)
Dim buffer(8192) As SByte
Dim got As Integer
got = inputStream.read(buffer, 0, buffer.Length)
While got > 0
outputStream.write(buffer, 0, got)
got = inputStream.read(buffer, 0, buffer.Length)
End While
outputStream.flush()
End Sub
Public Function createZip(ByVal zipPath As String, _
ByVal files2Zip As System.Collections.ArrayList) _
As Boolean
Dim zipOutputStream As zipOutputStream
Dim zipEntry As zipEntry
Dim fileInputStream As java.io.FileInputStream
Dim file2Zip As String
Dim auxObj As Object ‘ Esta variable contiene el valor que la
‘ función retornara
Dim created = True Try
‘ Crea el fichero zip
zipOutputStream = New _
zipOutputStream(New _
java.io.FileOutputStream(zipPath))
If Not files2Zip Is Nothing Then
For Each auxObj In files2Zip
file2Zip = CType(auxObj, String)
zipEntry = New _
zipEntry(System.IO.Path.GetFileName(file2Zip))
‘ Comprimimos los datos
zipEntry.setMethod(zipEntry.DEFLATED)
‘ Añadimos el fichero al zip
zipOutputStream.putNextEntry(zipEntry)
Try
fileInputStream = New _
java.io.FileInputStream (file2Zip)
Try
CopyStream(fileInputStream, _
zipOutputStream)
Finally
fileInputStream.close()
End Try
Catch e As Exception
created = False
Finally
zipOutputStream.closeEntry()
End Try
Next
End If
Catch e As Exception
created = False
Finally
If Not zipOutputStream Is Nothing Then
zipOutputStream.close()
End If
End TryReturn created
End Function
Compártelo
Publicado en C#, Programación, VB.Net | 2 Comentarios »
Publicado por lcflores en Abril 29th 2007
Hoy a publicado el equipo de ADO.Net que el nuevo Entity Framework de ADO.Net no será incluido en el Visual Studio Orcas planificado para el cuarto trimestre de 2007. El nuevo objetivo del equipo es tener una primera versión para la primera mitad del año 2008.
Para más información sobre ADO.NET Entity Framework y Data Access Vision de Microsoft, ver el blog de ADO.NET team y el post en Data Blog sobre Microsoft’s Data Access Strategy. También Frans Bouma especula en su blog sobre cual ha sido el motivo para que Microsoft tomara esta decisión.
Compártelo
Publicado en Noticias | Sin Comentarios »
Publicado por ildapena en Abril 29th 2007
El Consejo de Ministros aprobó el viernes pasado (13 de abril de 2007) la remisión al Congreso del Proyecto de Ley de Medidas de Impulso a la Sociedad de la Información.
En origen y tal y como se lee en la exposicion de motivos del borrador se encuentra dentro del marco establecido por el Plan Avanza para el impulso de la Sociedad de la Información en España.
La LISI en su articulado modificará la ley 34/2002, LSSICE, la ley 59/2003, ley de firma electronica.
Entre los objetivos de la ley se encuentran:
- Eliminación de las barreras existentes a la expansión y uso de las tecnologías de la información y las comunicaciones.
- Garantía de los derechos de los ciudadanos en la Sociedad de la Información.
- impulsar el uso de la factura electronica y los medios electronicos para la contratación (uno de los puntos claves señalados por IDABC para el impulso de la Sociedad de la Información).
Sin embargo, la aprobación del proyecto de Ley ha sido muy polémico, en especial el famoso artículo 17, que, presuntamente, habilitaba a las gestoras de derechos de propiedad intelectual (por ejemplo, la SGAE) para exigir a las operadoras el bloqueo de webs y para controlar la actividad de los usuarios del P2P.
Veremos en qué queda.
Compártelo
Publicado en Noticias | Sin Comentarios »
Publicado por ildapena en Abril 28th 2007
Haciendome eco de una de las noticias que leo de uno de los blogs a los que me he auto-suscrito por su contenido (administración publica y TIC) y dado que conozco muchos frikis, se que esta noticia les parecerá cuando menos interesante.
Ya queda menos para la Campus Party, punto de encuentro de todos los amantes de la tecnología y en especial de los videojuegos. Aunque tienen muchas otras areas: desarrollo, sw libre, robots, simulaciones, modding,…
uff … lo malo es que me suenan todos los videojuegos de su area de competención (Counter Strike, Quake 4, Need for Speed: Carbono, FIFA 07,…) ¿por qué será?
¡A disfrutar!

Compártelo
Publicado en Noticias | Sin Comentarios »
Publicado por klave en Abril 27th 2007
En WHATWG se está trabajando en el borrador de la especificación de HTML 5. Aun no está nada cerrado pero aquí os detallamos alguna de las novedades.
Dentro de ésta revisión tenemos nuevos elementos interesantes como son:
- article: una sección de la página que que forma parte independiente de una pagina, documento o site.
- dialog: una conversación.
- footer: pie de página de una sección.
- header: cabecera de una sección.
- nav: representa la navegación de la página.
- section: documento genérico o parte de una aplicación, es una agrupación temática de contenido, generalmente con cabecera.
Además de la creación nuevos elementos, también se introducen otras novedades como son:
- Cambios de programación en el DOM, introduciendo la nueva versión del DOM.
- Formularios web actualizados.
- Eventos server-sent
- Capacidades para gráficos dinámicos.
Articulos relacionados
HTML5 Elements and Attributes
Elements and Attributes in HTML 5
An Overview of HTML 5
Compártelo
Publicado en Internet, Noticias | 1 Comentario »