-
LecciónBufferedOutputStream
Con BufferedOutputStream podemos introducir un buffer, que es una zona de memoria temporal que hace que sea más eficiente la escritura en un OutputStream porque acumula la información para enviarla de golpe en un único taco, en vez de ir poco a poco. -
LecciónEnvolviendo varios OutputStreams
Pequeño inciso: por supuesto que a un OutputStream que acepta otro OutputStream como parámetro, le puedes pasar como parámetro un OutputStream que acepta otro OutputStream como parámetro. Suena a trabalenguas, pero la cuestión es que puedes fabricar un FileOutputStream, pasarlo por dentro de un BufferedOutputStream, y pasarlo por dentro de... -
LecciónBufferedInputStream y rebobinado de streams
La idea de BufferedInputStream es que con una única llamada a read() podamos abarcar tanto como sea posible, para no tener que estar continuamente accediendo al stream que va por debajo. Lo importante es que con esto podemos usar métodos como mark() y reset() para poder rebobinar un stream -
LecciónReader, FileReader y BufferedReader
Del mismo modo, con Reader tenemos la posibilidad de leer del mundo exterior en forma de caracter o stream de texto. Por ejemplo, con FileReader se puede leer el texto de un archivo. Sin embargo, poca utilidad tendrá sin la ayuda de BufferedReader, para poder disponer de métodos más prácticos... -
LecciónInputStreamReader y OutputStreamWriter
Muchas clases de la biblioteca estandar de Java que generan streams, los hacen en modo byte, por lo que si vamos a querer leer o escribir en modo caracter, tendremos que pasar esos streams a través de InputStreamReader y de OutputStreamWriter, que son clases que sirven para hacer la traducción... -
LecciónPrintStream y PrintWriter
Cerramos con un par de clases interesantes, porque son impresoras. Permiten empujar, tanto a un stream de byte como a un stream de char, cadenas de caracteres de múltiples tipos. Puede que ya las hayas utilizado, porque System.out y System.err son PrintStreams. -
LecciónMás flags: i mayúscula (include), wall, werror, pedantic...
Algunos otros flags de GCC que hasta ahora no hemos visto y que pueden ser muy útiles en el momento de desarrollar. En algunos entornos de desarrollo es posible activar opciones que se convierten en el uso de estos flags. Con el flag -I (I mayúscula) podremos incluir directorios de... -
LecciónTipos de datos opacos
Los tipos de datos opacos permiten crear punteros a estructuras de datos donde realmente no sabes lo que hay dentro de la estructura, porque todo lo que puedes ver es un puntero. Se trata de una característica avanzada de C que tiene uso principalmente en bibliotecas multiplataforma o en aquellos... -
LecciónMerge octopus (advanced)
Merge octopus es un tipo de merge (el del pulpo) que se hace cuando se intenta hacer un merge de más de dos ramas a la vez. Es un tipo de merge que puede ser útil en casos en los cuales haya varias ramas a integrar, para hacerlo de un... -
Leccióngit-apply y parches en bruto (advanced)
Cómo exportar un diff para crear un archivo de parche, que podemos compartir y volver a aplicar más adelante usando el comando git-apply. Muchos proyectos de software libre siguen trabajando con parches como forma de compartir sus avances, porque no quieren dar el salto a GitLab y GitHub.