Está en la página 1de 10

Programación

Frontend y Backend
BLOQUE JAVA

Input/Output y JSON
JAVA I/O
El package de java.io contiene las clases que necesitamos para ejecutar las entradas y salidas de
nuestros programas en JAVA.

Esta basado en streams (puede ser definido como una secuencia de datos), estos streams los
podemos clasificar en dos grandes grupos: streams de entrada o streams de salida. Un stream en
java soporta muchos tipos como pimitivos, object, etc… lo que facilita la integración con cualquier
aplicación.

Además de Entrada/Salida podemos clasificarlos según el tipo de fichero que utilizan, hablamos
de ficheros de texto plando (txt, xml, json, html, css) o ficheros binarios (png, mp3, mp4)

https://docs.oracle.com/javase/8/docs/api/java/io/package-summary.html
JAVA I/O
Escritura:
FileWriter fw = new FileWriter(filename, false);
fw.write(“Hola");
fw.close();

Lectura:
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
br.readLine();
JAVA I/O
Ejercicio – Diario

Vamos a crear un programa en el que se muestren las siguientes opciones:


1 - Escribir diario
2 - Leer diario
Cuando escribamos la opción 1, podremos escribir tantas líneas como queramos, una tras otra,
siempre y cuando no escriba la palabra FIN, cada una de estás líneas se almacenarán en un
fichero de texto llamado diario.txt, en el momento que escribamos la palabra FIN, volveremos a
mostrar el menú anterior.

Cuando escribamos la opción 2, podremos leer todo lo escrito hasta el momento, debemos avisar
al usuario si el diario no existe, en caso de no existir volveremos al menú principal y acto seguido
se mostrará el menú principal de nuevo, si estando en el menú principal se introduce cualquier
carácter distinto a 1 y 2 mostraremos un mensaje informando de que ha seleccionado una opción
incorrecta y finalizará la ejecución del programa.
JSON
JSON (JavaScript Object Notation) es un formato de texto sencillo para el intercambio de datos.

Ejemplo:

{
"employee": {
"firstName": "Lokesh",
"lastName": "Gupta",
"website": "howtodoinjava.com"
}
},
{
"employee": {
"firstName": "Brian",
"lastName": "Schultz",
"website": "example.com"
}
}
JSON
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
JSONObject
Ejemplo JSON:
{"city":"chicago","name":"jon doe","age":"22"}

Ejemplo JSONObject:
JSONObject jo = new JSONObject();
jo.put("name", "jon doe");
jo.put("age", "22");
jo.put("city", "chicago");
Gson
JAVA > JSON
Gson gson = new Gson();
String json = gson.toJson(Obj);

JSON > JAVA


Gson gson = new Gson();
Obj x = gson.fromJson(json, Obj.class);

Para que el código JSON sea más legible, podemos utilizar:


Gson gson = new GsonBuilder().setPrettyPrinting().create();
JSON
Ejercicio – JSON
Vamos a crear 3 clases (Con constructores, Getter y Setter):
Asignatura.java
String Nombre
Calificacion.java
Double nota
Asignatura materia
Alumno.java
String Nombre
String Apellido
Int Edad
List<Calificaciones> notas
Nuestro programa creará una array de 3 alumnos como mínimo, cada uno de ellos, a su vez
tendrá un mínimo de 3 calificaciones, por último transformaremos el array de alumnos a JSON y
lo almacenaremos en un fichero llamado ejercicioJSON.json.
A continuación leeremos el fichero anterior convirtiendo el JSON a alumnos de nuevo, mostrando
el número de alumnos recuperados por consola.
Ejercicio
Ejercicio – AHORCADO

Vamos a leer de un fichero de texto llamado ejercicioAhoracado.txt, este fichero contendrá una
lista de palabras que nosotros hayamos escrito previamente, cada palabra irá en una línea
distinta.

Cuando hayamos leído la lista de palabras, el programa elegirá una al azar,


int numPalabra = ThreadLocalRandom.current().nextInt(0, numPalabras)

Una vez el programa ha seleccionado la palabra, comenzará el juego, tendremos 5 vidas para
acertar la palabra, solo si fallamos al introducir una letra el número de vidas descenderá, cada vez
que introduzcamos una letra, mostraremos una lína similar a:

VIDAS: 2
__A__A_
LETRAS UTILIZADAS: (A,B,M,C)

También podría gustarte