Skip to content

Commit 766036a

Browse files
committed
Pequeñas correcciones en la unidad 1
1 parent d6c1f76 commit 766036a

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

source/01.archivos/01.gestion.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ Una vez que tenemos un objeto que implementa la interfaz :java-nio:`Path
229229
230230
Path archivo = Path.of(uri);
231231
232-
Por último, ``Path`` implemente la interfaz :java-lang:`Iterable`, así que
232+
Por último, ``Path`` implementa la interfaz :java-lang:`Iterable`, así que
233233
podemos hacer construcciones como esta:
234234

235235
.. code-block::

source/01.archivos/02.manipulacion.rst

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ por:
6666
Path archivo = Path.of(System.getProperty("user.home"), ".bashrc");
6767
InputStream st = Files.newInputStream(archivo); // Si no puede abrirse, genera un error.
6868
69-
ya que genera un objeto ``InputStream``, que es lo mismo que se obtiene al
69+
ya que genera un objeto |InputStream|, que es lo mismo que se obtiene al
7070
extraer contenido de una |URL| mediante este código:
7171

7272
.. code-block:: java
@@ -83,7 +83,7 @@ y que también coincide con el tipo de ``System.in``:
8383
En consecuencia, a partir de este punto podemos tratar estas tres entradas
8484
diferentes de un mismo modo (p.e. usando la clase :java-util:`Scanner
8585
<Scanner>`). Si el archivo lo vamos a manejar por líneas lo más adecuado es
86-
hacer lo siguiente:
86+
hacer uso de |InputStreamReader| y |BufferedReader|:
8787

8888
.. code-block:: java
8989
@@ -93,7 +93,7 @@ hacer lo siguiente:
9393
.. note:: En las siguientes unidades, para el tratamiento de archivos en
9494
distintos formatos de intercambio de información conocidos intentaremos
9595
utilizar un método que nos permita convertir la entrada en un objeto
96-
`InputStream`, aunque pueda existir algún otro menos verborreico que permita
96+
|InputStream|, aunque pueda existir algún otro menos verborreico que permita
9797
utilizarlo directamente a partir de su nombre. Eso nos asegurará que si la
9898
entrada no es un archivo sino el teclado o una |URL| externa, sabremos cómo
9999
tratarlo.
@@ -112,6 +112,9 @@ hacer lo siguiente:
112112
Charset.defaultCharset() == StandardCharsets.UTF_8; // true
113113
InputStreamReader sr = new InputStreamReader(st); // UTF-8
114114
115+
Ahora bien, tenga presente que la codificación del recurso, tanto si se
116+
trata de un archivo local o remoto, puede no coincidir con la del sistema.
117+
115118
Al objeto resultado podemos tratarlo como prefiramos:
116119

117120
.. code-block:: java
@@ -180,7 +183,8 @@ Escritura
180183
---------
181184
En este tipo de archivos, obviamente, tenemos que escribir texto, o sea,
182185
cadenas, pero no directamente caracteres, sino bytes. Por lo demás, basta con
183-
utilizar otro método de :java-nio:`Files <Files>` para abrir un flujo de salida:
186+
utilizar otro método de :java-nio:`Files <Files>` para abrir un flujo de
187+
salida (|OutputStream|):
184188

185189
.. code-block:: java
186190
@@ -210,7 +214,7 @@ Por otro lado, para transformar la cadena en *bytes* es necesario especificar
210214
la codificación usada (:java-lang:`StandardCharsets.UTF-8 <StandardCharsets>`),
211215
aunque si no se indica se sobreentiende la predeterminada de la |JVM| (muy
212216
probablemente UTF-8, que es lo habitual en los sistemas modernos). Una
213-
alternativa, es utilizar un escritor de flujo:
217+
alternativa, es utilizar un escritor de flujo (|OutputStreamWriter|):
214218

215219
.. code-block:: java
216220
@@ -297,6 +301,11 @@ Para ilustrar cómo se serializan objetos definamos una clase muy simple:
297301
Persona otra = (Persona) o;
298302
return edad == otra.edad && nombre.equals(otra.nombre);
299303
}
304+
305+
@Override
306+
public int hashCode() {
307+
return Objects.hash(nombre, edad);
308+
}
300309
}
301310
302311
Escritura
@@ -354,3 +363,9 @@ Para recuperar un objeto serializado, hay que hacer el proceso inverso. Para ilu
354363
.. |XML| replace:: :abbr:`XML (eXtensible Markup Language)`
355364
.. |URL| replace:: :abbr:`URL (Uniform Resource Locator)`
356365
.. |JVM| replace:: :abbr:`JVM (Java Virtual Machine)`
366+
367+
.. |InputStream| replace:: :java-io:`InputStream <InputStream>`
368+
.. |InputStreamReader| replace:: :java-io:`InputStreamReader <InputStreamReader>`
369+
.. |BufferedReader| replace:: :java-io:`BufferedReader <BufferedReader>`
370+
.. |OutputStream| replace:: :java-io:`OutputStream <InputStream>`
371+
.. |OutputStreamWriter| replace:: :java-io:`OutputStreamWriter <OutputStreamWriter>`

0 commit comments

Comments
 (0)