que - printwriter java example
¿Cómo usar las clases PrintWriter y File en Java? (10)
Estoy tratando de entender PrintWriter para un pequeño programa que estoy haciendo, y parece que no puedo obtener Java para hacer el archivo y luego escribir sobre él. Cuando ejecuto el programa a continuación, me da un error Filenotfoundexeption en la línea 9. También falla al hacer el archivo en el directorio que especifiqué. Soy nuevo en esto, por favor intente y mantenga las respuestas simples. Estoy usando Eclipse.
import java.io.PrintWriter;
import java.io.File;
public class Testing {
public static void main(String[] args) {
File file = new File ("C:/Users/Me/Desktop/directory/file.txt");
PrintWriter printWriter = new PrintWriter ("file.txt");
printWriter.println ("hello");
printWriter.close ();
}
}
Bueno, en primer lugar, creo que main main en try catch (o puedes utilizar como public static void main(String arg[]) throws IOException )
y luego también usar la ruta completa del archivo en el que estás escribiendo
PrintWriter printWriter = new PrintWriter ("C:/Users/Me/Desktop/directory/file.txt");
todas esas directivas como usuarios, Me, Escritorio, directorio deben ser creadas por el usuario. java no hará directorios propios. debería ser como
import java.io.*;
public class PrintWriterClass {
public static void main(String arg[]) throws IOException{
PrintWriter pw = new PrintWriter("C:/Users/Me/Desktop/directory/file.txt");
pw.println("hiiiiiii");
pw.close();
}
}
Deberías tener una idea clara de las excepciones en java. En Java hay excepciones comprobadas y excepciones sin marcar.
El compilador comprueba las excepciones marcadas (no lanzadas, simplemente comprobadas) en Tiempo de compilación para la ejecución sin problemas del programa en tiempo de ejecución.
NOTA: Y en nuestro programa si existe la posibilidad de que una excepción marcada aumente, entonces debemos manejar esa excepción marcada ya sea mediante try catch o mediante palabras clave. De lo contrario, obtendremos un error de compilación:
CE: Excepción inesperada java.io.FileNotFoundException; debe capturarse o declararse lanzada.
Cómo resolver: 1. Ponga su código en el bloque try catch:
2.use arroja la palabra clave como se muestra por otros chicos de arriba.
Consejo: lea más sobre Excepciones. (Personalmente me encanta este tema)
Haga doble clic en file.txt
, luego guárdelo, command + s
, que funcionó en mi caso. Además, asegúrese de que file.txt
esté guardado en la carpeta del proyecto. Si eso no funciona.
PrintWriter pw = new PrintWriter(new File("file.txt"));
pw.println("hello world"); // to test if it works.
Java normalmente no acepta "/" para usar en la definición de un directorio de archivos, así que intente esto:
File file = new File ("C://Users//user//workspace//FileTester//myFile.txt");
Si el archivo no existe, hazlo:
try {
file.createNewFile();
}
catch (IOException e) {
e.printStackTrace();
}
Necesito cualquier ayuda de Java, solo ven a mí.
La clase PrintWriter
realmente puede crear el archivo por usted.
Este ejemplo funciona en JDK 1.7+.
// This will create the file.txt in your working directory.
PrintWriter printWriter = null;
try {
printWriter = new PrintWriter("file.txt", "UTF-8");
// The second parameter determines the encoding. It can be
// any valid encoding, but I used UTF-8 as an example.
} catch (FileNotFoundException | UnsupportedEncodingException error) {
error.printStackTrace();
}
printWriter.println("Write whatever you like in your file.txt");
// Make sure to close the printWriter object otherwise nothing
// will be written to your file.txt and it will be blank.
printWriter.close();
Para obtener una lista de codificaciones válidas, consulte la documentación.
Alternativamente, puede pasar la ruta del archivo a la clase PrintWriter
sin declarar la codificación.
Pase el objeto File al constructor PrintWriter(File file)
:
PrintWriter printWriter = new PrintWriter(file);
Si el directorio no existe, debes crearlo. Java no lo creará solo, ya que la clase File
es solo un enlace a una entidad que tampoco puede existir.
Como dijo, el error es que el archivo no se puede crear. Si lee la documentación del constructor PrintWriter, puede ver
FileNotFoundException - Si la cadena dada no denota un archivo regular existente y escribible y no se puede crear un nuevo archivo regular de ese nombre, o si se produce algún otro error al abrir o crear el archivo
Debería intentar crear una ruta para la carpeta que contiene antes:
File file = new File("C:/Users/Me/Desktop/directory/file.txt");
file.getParentFile().mkdirs();
PrintWriter printWriter = new PrintWriter(file);
import java.io.File;
import java.io.PrintWriter;
public class Testing
{
public static void main(String[] args)
{
File file = new File("C:/Users/Me/Desktop/directory/file.txt");
PrintWriter printWriter = null;
try
{
printWriter = new PrintWriter(file);
printWriter.println("hello");
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
finally
{
if ( printWriter != null )
{
printWriter.close();
}
}
}
}
import java.io.*;
public class test{
public static void main(Strings []args){
PrintWriter pw = new PrintWriter(new file("C:/Users/Me/Desktop/directory/file.txt"));
pw.println("hello");
pw.close
}
}
import java.io.PrintWriter;
import java.io.File;
public class Testing {
public static void main(String[] args) throws IOException {
File file = new File ("C:/Users/Me/Desktop/directory/file.txt");
PrintWriter printWriter = new PrintWriter ("file.txt");
printWriter.println ("hello");
printWriter.close ();
}
}
lanzar una excepción para el archivo.