|
|
Segundo repaso de 7 del temario para el examen 70-536 de la certificación MCTS en .NET. Engloba los temas 2.Input/Ouput y 5.Serialization del libro oficial de Microsoft. |
Junio 20, 2007
70-536 Resumen 2/7: Entrada/Salida y serialización.
Junio 6, 2007
Interactuando con la consola. Parte I, obtener la salida de un comando.
Este artículo ha sido migrado a mi nuevo blog:
Obtener la salida de un comando de consola
Mayo 10, 2007
Recursividad copiando directorios
![]() |
Recursividad , típica cosa que cuando la estudias piensas “pfff!!… ¿quien necesitará hacer una locura como esa?”. El caso es que hoy como forma de matar el rato respondía a un mensaje en los foros de MSDN sobre como combinar dos directorios, a lo que el “preguntante” añadió después la necesidad de que también se viesen afectados los subdirectorios, … y así … sin comerlo ni beberlo me salió una función recursiva como algo de lo más cotidiano … y la verdad me ha hecho sentirme viejo xD. |
No es la primera vez que hago uso de este tipo de algoritmia… simplemente en que nunca me había visto en el plano del tiempo tomando esto como referencia, viéndome hoy y viéndome aquel día en el que mirando con cara de asco a la pizarra pensaba… WTF!!! Supongo que rebasar la línea de los 5 lustros hace unos días me esta afectando psicológicamente …
Mayo 9, 2007
Leyendo datos binarios en C#
| Este artículo es una traducción de Reading binary data in C# de Jon Skeet, el cual me ha dado su consentimiento expreso para traducirlo y ponerlo aquí. Thanks Jon |
En los newsgroup de C#, he visto bastantes veces código para leer datos de un archivo como este:
|
// Mal método! No lo uses! |
Este código esta lejos de garantizar su funcionamiento. En concreto, FileStream podría estar leyendo solo los primeros 10bytes del archivo en el buffer. El método Read solo está garantizado para bloquear hasta que alguna porción de datos esta disponible (o el final del stream, si se alcanzó), no hasta que la totalidad de los datos están disponibles. Aquí es donde el valor de retorno (el cual es ignorado en el código de arriba) es vital. Necesitas arreglártelas para el caso en que no puedas leer todos los datos en la misma pasada, y hacer un bucle hasta que hayas leído todo lo quieres. Aquí un método que puedes usar si quieres leer desde un stream a un array sin parar hasta que este haya finalizado:
(más…)
Abril 17, 2007
Enviar un archivo como eMail
Este artículo ha sido migrado a mi nuevo blog:
Enviar un archivo por eMail
Enviar un Stream por eMail
Enviar un archivo por FTP
Este artículo ha sido migrado a mi nuevo blog:
Enviar un archivo por FTP
Enviar un Stream por FTP
Descargando un fichero por FTP
Abril 3, 2007
Redirigir la consola a un archivo de texto.
Cuando por ejemplo realizamos una aplicación de tipo consola que simplemente es un proceso automático que no es interactivo, es muy útil y rápido ver como se ejecuta nuestra aplicación en la consola mientras estamos desarrollándola, pero una vez que la aplicación esta terminada preferiríamos que esas líneas se guardasen en un archivo de texto para su posterior revisado. Para evitar duplicar trabajo, podemos redirigir la salida de la consola (es decir, lo que mandamos a Console.WriteLine por ejemplo) a un TextWriter y grabarlo en un archivo de texto, de forma que configuramos dicho comportamiento al inicio de la aplicación y no hemos de tocar nada más en el resto del código.
¿Que mejor forma de decidir si se redirige la consola ó no, que dependiendo si estamos en modo Debug ó Release? Después simplemente creo un TextWriter con nombre de archivo el mismo que tiene la aplicación más la extensión “.log”, asigno la salida de Console a dicho Stream y listo, cualquier escritura sobre Console se hará sobre el fichero de log en su lugar, con lo cual no perderemos detalle de que hizo nuestra aplicación cuando se ejecutó. (más…)







