Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UF3.DAM. Ejercicio Teórico - Víctor Muñoz Pavón
- 1) (1 punto) Explica las diferencias entre los ficheros de texto y los ficheros binarios. Pon ejemplos de ambos.
- Todos los ficheros se pueden clasificar en uno de dos formatos: binario o no binario. Ambos ficheros se pueden abrir en modo lectura o escritura y almacenan datos en bits, pero se diferencian en como los codifican.
- Los ficheros de texto son aquellos que, como su propio nombre indica, contienen caracteres de texto en lenguaje natural y son legibles. Estos ficheros pueden contener texto sin formato (.txt) o enriquecido (.rtf).
- Sin embargo, los ficheros binarios no tienen texto (están escritos en binario 0-1) y, por lo tanto, no son legibles. Estos incluyen archivos multimedia, información interna del sistema, etc., y se tienen las extensiones .png, .mp3, .exe, .dll..., entre muchas otras más.
- 2) Escribe y explica el código, incluyendo comentarios en el mismo para realizar las siguientes tareas. (Nota: En todos los casos el fichero ya existe).
- a) (3 puntos) Abrir un fichero de texto y machacar el contenido con el texto “Machacado”. Es decir, si el fichero contenía información, se eliminará y se sustituirá por “Machacado”.
- import java.io.File; java.io.FileWriter; java.io.IOException; java.io.PrintWriter; // Importar las clases necesarias.
- File f= new File("Fichero.txt"); // Adjudicar la variable 'f' al fichero.
- // Comprobar si el fichero existe. Después iniciar 'try/catch'.
- if(f.exists()) {
- try {
- FileWriter fw = new FileWriter(f); PrintWriter pw=new PrintWriter(fw); // Llamar a las clases FileWriter y PrintWriter para abrir el fichero en modo de escritura y escribir en él.
- pw.println("Machacado."); // Usar la clase PrintWriter para sobreescribir "Machacado" en el archivo.
- fw.close(); pw.close(); // Cerrar las clases abriendo el fichero.
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- b) (3 puntos) Abrir un fichero de texto y leer el contenido y mostrarlo en la consola
- import java.io.File; java.io.FileReader; java.io.IOException; java.io.BufferedReader; // Importar las clases necesarias.
- File f= new File("Fichero.txt"); // Adjudicar la variable 'f' al fichero.
- String linea=""; // Crear la variable de String vacia para las líneas del texto.
- // Comprobar si el fichero existe. Después iniciar 'try/catch'.
- if(f.exists()) {
- try {
- FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); // Llamar a las clases FileReader y BufferedReader para leer el fichero abierto en modo lectura.
- while (linea!=null) { //Mientras haya algo escrito en la línea, esto se asignará a la varaible linea.
- linea=br.readLine();
- if (linea!=null) { //Mientras la línea no sea 'null' (la última), se mostrará en la consola.
- System.out.println(linea);
- }
- }
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- c) (3 puntos) Abrir un fichero de texto y añadir en el mismo la palabra “Agregado”. Es decir, si el fichero contenía información, se añadirá al final del mismo el texto “Agregado”
- import java.io.File; java.io.FileWriter; java.io.IOException; java.io.PrintWriter; // Importar las clases necesarias.
- File f= new File("Fichero.txt"); // Adjudicar la variable 'f' al fichero.
- // Comprobar si el fichero existe. Después iniciar 'try/catch'.
- if(f.exists()) {
- try {
- FileWriter fw = new FileWriter(f,true); // Llamar a la clase FileWriter para abrir el fichero en modo escritura, añadimos el parámetro 'true' para que no machaque el texto y todo lo que escribamos lo añada al final.
- PrintWriter pw=new PrintWriter(fw); // Llamar a la clase PrintWriter para poder escribir en el archivo abierto.
- pw.println("Agregado."); // Usar la clase PrintWriter para añadir "Agregado", que como el archivo está abierto en modo 'true' se escribirá al final del archivo.
- fw.close(); pw.close(); // Cerrar las clases abriendo el fichero.
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement