Autor Tema: entender ejercicio java con FileWriter paso a paso  (Leído 4916 veces)

xtc3

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 25
    • Ver Perfil
entender ejercicio java con FileWriter paso a paso
« en: 16 de Abril 2014, 18:58 »
Hola amigos, estaba estudiando la entrada y salida de datos y me he topado con un ejercicio resuelto en el cual no consigo entender varias cosas, se trata de crear un archivo escribir en el el abecedario después leerlo y luego mostrarlo por pantalla.

Voy a poner el código trozo a trozo para ver si me podéis ayudar a entenderlo por completo con lo que yo entiendo en comentarios y si me equivoco me corregís porfa, es muy importante mis profesores no saben explicármelo bien.

muchas gracias como siempre!!!

Código: [Seleccionar]
import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.FileWriter;                        //IMPORTAMOS LOS PAQUETES QUE           
 import java.io.IOException;                    //NECESITAMOS
 
                                                                //¿PODRIAMOS PONER: import.java* para evitar poner tantos paquetes?????             

 public class EscribirLeerArhivo { //CREAMOS LA CLASE

  private FileWriter escribir;
  private FileReader leer;             //¿POR QUE ESTAS VARIABLES NO SON
  private String nombreArchivo;  // private FileWriter solo?? por que añaden "escribir" y "leer"
 
  // CONSTRUCTORES
  public EscribirLeerArhivo(String nombreArchivo)
{
   this.nombreArchivo = nombreArchivo; //CUAL ES LA FUNCION DE THIS EXACTA??
  }

  // METODOS
  public void escribirArchivo() throws IOException //NO ENTIENDO BIEN EL USO DE THROWS
{
   escribir = new FileWriter(nombreArchivo);
   for (char caracter = 'a'; caracter <= 'z';
caracter++) {
    escribir.write(caracter);//ESTO QUE ES UN METODO QUE NO SE HA DECLARADO??
   }
   escribir.close();//OTRO METODO QUE PREVIAMENTE NO SE HA DECLARADO???
  }



He puesto esta parte del codigo para no saturar a nadie, aun falta codigo por poner.
Gracias amigos
« Última modificación: 16 de Abril 2014, 19:53 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:entender ejercicio java con FileWriter paso a paso
« Respuesta #1 en: 16 de Abril 2014, 19:54 »
Hola, trato de ir comentando...

La importación de paquetes hace necesario cargar más librerías para el programa y cuantas más librerías se carguen más lento o peor rendimiento tendrás, por eso es preferible cargar sólo lo que se necesita. Se permite cargar algunas librerías al completo, por ejemplo puedes escribir import java.io.*; pero no puedes escribir import java.* ¿Por qué? Normas de Java

¿Para qué meten una variable FileReader? No se sabe, aparentemente no se usa para nada, con lo cual o realmente sobra o está ahí porque en el futuro se piensa que podría servir para algo.

La palabra clave this puede tener dos usos:

Primer uso: explicado en https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=592:ejemplo-de-codigo-java-basico-clases-con-campos-constructor-y-metodos-la-palabra-clave-this-cu00652b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Segundo uso (el más frecuente): https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=620:la-palabra-clave-this-en-java-contenido-null-por-defecto-de-un-objeto-ejemplo-ejercicio-resuelto-cu00654b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Respecto al uso de throws, algunas operaciones en Java se consideran "delicadas" en el sentido de que es posible que salte un error cuando se ejecuten. Por ejemplo al acceder a un archivo (por ejemplo si el archivo está corrupto). En estos casos es recomendable indicar que si se produce un error se lance una excepción que pueda ser manejada por el sistema, una forma de indicar esto es con throws. En algunos casos el manejo de excepciones no es opcional, sino obligatorio (obligación impuesta por Java).

Respecto a write y close, son métodos del objeto. El objeto es un objeto de un tipo del api de Java y por tanto sus constructores y métodos sí están declarados (en el api de Java). Sobre el api de Java puedes leer esta entrega y siguientes: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=551:que-es-y-para-que-sirve-el-api-de-java-librerias-de-biblioteca-estandar-jdbc-javafx-rmi-cu00645b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".