Las importaciones de FileWriter y BufferedWriter están "en conflicto" en JDK 7
Frecuentes
Visto 8,046 veces
1
Estoy usando JDK 7 y estoy tratando de realizar una operación simple de escritura en archivo con el siguiente código:
import java.io.BufferedWriter;
import java.io.FileWriter; // JAVA says this is conflicting...why?
FileWriter fw = new FileWriter("hello.txt");
BufferedWriter bw = new BufferedWriter(fw); // JAVA says this is an error and asks me to convert FileWriter to type Writer.
Estoy usando JDK 7 y así es como siempre he escrito en un archivo en Java, pero este es el primero en JDK 7 y no funciona.
¿Podría alguien explicar por qué?
2 Respuestas
4
La única razón que se me ocurre es que tiene una clase llamada FileWriter en el mismo paquete que la clase, de la cual ha copiado los fragmentos de código. En ese caso, no se le permite importar una clase FileWriter de un paquete diferente, sino que debe usar el nombre calificado (java.io.FileWriter) en el propio código.
contestado el 03 de mayo de 12 a las 18:05
Cometí un error estúpido al nombrar mi archivo 'FileWriter.java'... gracias por señalarlo. - checo
1
¿Puedes hacer que la instancia fw sea Writer
? p.ej
Writer fw = new FileWriter("hello.txt");
BufferedWriter bw = new BufferedWriter(fw);
Es una buena práctica usar la interfaz/abstracciones en lugar de implementaciones concretas.
FileWriter hereda de OutputStreamWriter que hereda de Writer.
Y más al punto el BufferedWriter
constructor espera un Writer
ejemplo.
contestado el 03 de mayo de 12 a las 18:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas java file io or haz tu propia pregunta.
¿Cual es el mensaje de error exacto? - Puce
¿Tendría otra clase de FileWriter en el mismo paquete? - JB Nizet
@Puce, 2 errores, dice que import.java.io.FileWriter está en conflicto con java.io.BufferedWriter y me pide que cambie FileWriter fw a Writer fw. Sin embargo, siempre he lanzado un FileWriter en BufferedWriter sin problemas. Sin embargo, después de actualizar a JDK 7, esto sucede, por lo que me gustaría saber por qué. - czchlong
Esa no es la exacto mensaje de error. Copie la salida del mensaje del compilador y péguelo aquí. - JB Nizet