1
00:00:10,490 --> 00:00:12,410
Hola Te saludo nuevamente.

2
00:00:12,410 --> 00:00:17,200
Ubaldo Costa espero que estén listos para comenzar con esta elección.

3
00:00:17,210 --> 00:00:23,540
A continuación vamos a estudiar el tema de entrada y salida de datos en Java están listos.

4
00:00:23,540 --> 00:00:24,020
Vamos

5
00:00:26,810 --> 00:00:35,070
entrada y salida de datos en IAVA en esta elección vamos a estudiar el tema de entrada y salida de datos

6
00:00:35,730 --> 00:00:36,390
en Java.

7
00:00:36,480 --> 00:00:43,470
Tenemos un conjunto de clases para leer y escribir información tanto a la salida estándar es decir la

8
00:00:43,470 --> 00:00:51,600
consola como archivos flujos y otro tipo de entradas y salidas de información la figura nos muestra

9
00:00:51,600 --> 00:00:55,220
los procesos de lectura y de escritura en Java.

10
00:00:55,230 --> 00:01:01,290
En esta elección vamos a revisar algunas de las clases que nos permitirán escribir y leer información

11
00:01:01,290 --> 00:01:06,290
de la consola también conocida como salida o entrada de datos estándar

12
00:01:10,130 --> 00:01:12,140
consola de entrada y salida de datos

13
00:01:15,540 --> 00:01:19,480
existen tres variables para interactuar con la consola del sistema operativo.

14
00:01:19,650 --> 00:01:27,660
También conocida como flujos de entrada o salida estándar la variable System punto en esta variable

15
00:01:27,870 --> 00:01:31,670
Lee de la entrada estándar y es de un tipo input Stream.

16
00:01:31,680 --> 00:01:34,510
Por ejemplo leer datos del teclado.

17
00:01:34,710 --> 00:01:37,520
También tenemos la variable existen punto at.

18
00:01:37,950 --> 00:01:42,800
Esta variable escribe la salida estándar y es de tipo String.

19
00:01:42,930 --> 00:01:48,760
Por ejemplo mostrar datos en la pantalla y por último la variable existen punto.

20
00:01:49,290 --> 00:01:53,680
Escribe a la salida estándar de errores y es de tipo instruían.

21
00:01:53,940 --> 00:01:57,150
Por ejemplo muestra datos de error en la pantalla.

22
00:01:57,150 --> 00:02:02,880
Estas son las tres variables que vamos a utilizar para recibir información y mandar información a la

23
00:02:02,880 --> 00:02:03,810
salida estándar

24
00:02:06,670 --> 00:02:10,330
API de entrada en Llada en el paquete.

25
00:02:10,600 --> 00:02:12,460
Existen dos grandes clasificaciones

26
00:02:15,480 --> 00:02:22,430
clases que permiten manejar tipos Char y otras clases que permiten manejar tipos de la figura muestra

27
00:02:22,430 --> 00:02:29,260
de manera resumida las clases involucradas en el proceso de lectura las clases del lado izquierdo son

28
00:02:29,260 --> 00:02:36,580
para flujos de tipo Char y las clases del lado derecho son para flujos de tipo bait veremos más adelante

29
00:02:36,610 --> 00:02:43,740
ejemplos de algunas de estas clases para leer datos en Java por ejemplo las clases para leer datos de

30
00:02:43,740 --> 00:02:50,010
tipo Char tenemos la interface Ruidera y a partir de esta interfase tenemos algunas claves concretas

31
00:02:50,250 --> 00:02:57,930
como es la clase input string Reader o la clase buffer Reeder y también tenemos a la subclase fi Rudder

32
00:02:58,170 --> 00:03:01,360
como una subclase de la clase impudor su hibridar.

33
00:03:01,560 --> 00:03:08,890
Por otro lado tenemos las clases para procesar tipos Bayt para comenzar tenemos la interfase input estrujan

34
00:03:09,550 --> 00:03:15,550
y a partir de esta interfase tenemos algunas clases concretas como es Filter input destruirme y a partir

35
00:03:15,550 --> 00:03:22,850
de esta clase dos subclases llamadas data input de stream y buffer input stream veremos más adelante

36
00:03:22,880 --> 00:03:26,210
algunos ejemplos para poner en práctica estas clases

37
00:03:29,600 --> 00:03:30,980
API de salida en Java

38
00:03:35,280 --> 00:03:38,680
ahora veremos las clases de la API de salida en Java.

39
00:03:38,790 --> 00:03:46,140
La figura nos muestra de manera resumida las clases involucradas en el proceso de escritura las clases

40
00:03:46,140 --> 00:03:51,750
del lado izquierdo son para flujos de tipo Char y las clases del lado derecho son para flujos de tipo

41
00:03:51,750 --> 00:03:52,510
Bayt.

42
00:03:52,650 --> 00:03:58,700
Por ejemplo las clases para procesar tipos Char por un lado tenemos la interfase Reiter y a partir de

43
00:03:58,700 --> 00:04:06,900
esta tenemos las clases concretas Reiter o string Brighter y buffer Writer y la Subclase Field Reiter

44
00:04:07,020 --> 00:04:14,430
la cual extiende de autodestruye Ritter y la Subclase Construïm la cual extiende de Buffer Ritter y

45
00:04:14,430 --> 00:04:15,310
del lado derecho.

46
00:04:15,330 --> 00:04:22,290
Mostramos las clases para procesar tipos Bayt por un lado tenemos la interfase autodestruye y algunas

47
00:04:22,290 --> 00:04:29,700
clases concretas es la clase filetear string y algunas subclases buffer autodestruye y también la subclase

48
00:04:29,790 --> 00:04:31,470
data o destruirme.

49
00:04:31,470 --> 00:04:39,650
Más adelante veremos algunos ejemplos para utilizar estas clases para escribir datos en Java diferencia

50
00:04:39,680 --> 00:04:41,210
entre flujos Veidt y Char

51
00:04:43,870 --> 00:04:50,650
veamos ahora la diferencia entre utilizar tipos de datos pochar en flujos de datos lo cual tiene que

52
00:04:50,650 --> 00:04:57,730
ver directamente con el tipo de dato con el cual estamos trabajando los flujos o streams son utilizados

53
00:04:57,730 --> 00:05:00,040
para procesar un byte a la vez.

54
00:05:00,310 --> 00:05:06,550
Los flujos que procesan bits son recomendados para procesar archivos binarios como son archivos de tipo

55
00:05:06,550 --> 00:05:13,610
Word Excel PDF o cualquier formato que es más complejo que un simple archivo de texto.

56
00:05:13,630 --> 00:05:21,180
Por otro lado las clases de tipo Ridder o writer son utilizadas para procesar un carácter a la vez y

57
00:05:21,190 --> 00:05:27,880
estas clases son recomendadas para procesar texto basado en algún juego de caracteres como es el código

58
00:05:27,880 --> 00:05:29,870
ASCII o Unicode.

59
00:05:29,950 --> 00:05:37,180
Las clases que tienen buffer son utilizadas para procesar más de un carácter Obaid a la vez y podemos

60
00:05:37,180 --> 00:05:43,510
observar en la figura cuál es la relación cuando estamos procesando caracteres o cuando estamos procesando

61
00:05:43,510 --> 00:05:44,410
bits.

62
00:05:44,410 --> 00:05:51,030
Y también podemos observar en la imagen cómo es que podemos procesar bits y convertirlos en caracteres.

63
00:05:51,160 --> 00:05:56,320
Cómo se pueden envolver estos flujos utilizando las clases indicadas en la figura

64
00:05:58,920 --> 00:06:00,930
lectura entrada estándar en Java

65
00:06:03,610 --> 00:06:07,520
Veamos ahora cómo leer datos desde la entrada estándar.

66
00:06:07,570 --> 00:06:13,900
Esto lo vamos a lograr por medio de la variable existen punto en la cual lee datos de la entrada estándar

67
00:06:14,860 --> 00:06:21,830
la clase input string Rider accede a la consola estándar pero sólo puede leer un carácter a la vez.

68
00:06:21,940 --> 00:06:28,480
Por lo tanto necesitamos de otra clase para que podamos leer más datos que simplemente un carácter a

69
00:06:28,480 --> 00:06:29,830
la vez.

70
00:06:29,830 --> 00:06:36,820
La clase buffer Rider nos permite capturar una línea completa de datos en lugar de solamente un carácter

71
00:06:36,970 --> 00:06:43,630
de la entrada estándar y con esta clase podremos acceder más fácilmente a más información de nuestra

72
00:06:43,690 --> 00:06:45,760
entrada estándar.

73
00:06:45,760 --> 00:06:50,110
Posteriormente vamos a crear un ejemplo de lectura de datos de la entrada estándar

74
00:06:53,540 --> 00:07:02,400
clase escáner para leer datos además de la API que ya hemos revisado en Java se introdujo la clase escaner

75
00:07:02,640 --> 00:07:05,880
para simplificar el proceso de lectura de datos.

76
00:07:05,880 --> 00:07:12,090
Por lo tanto en el código mostrado podemos observar el uso básico de la clase escáner la cual recibe

77
00:07:12,140 --> 00:07:19,400
en su constructor el flujo de entrada ya sea de la consola estándar un archivo u otro tipo de entrada.

78
00:07:19,440 --> 00:07:25,560
Una vez que se ha creado este objeto contiene métodos para simplificar la lectura de la entrada de datos

79
00:07:26,010 --> 00:07:33,630
tal como el método next Line NEX int NEX float y varios más los cuales como su nombre nos indica nos

80
00:07:33,630 --> 00:07:39,840
permite leer ya sea una nueva línea un nuevo entero un nuevo tipo flotante etc..

81
00:07:41,520 --> 00:07:48,240
Esta clase como observamos nos permite simplificar el proceso de entrada de datos y más adelante veremos

82
00:07:48,240 --> 00:07:54,350
un ejercicio precisamente para poder entender a más detalle cómo utilizar esta clase escáner.
