Ayuda, error al crear un archivo con java

Iniciado por JenselG, 26 Diciembre 2017, 21:21 PM

0 Miembros y 1 Visitante están viendo este tema.

JenselG

Hola a todos espero que estén bien, tengo un problema en java que al tratar de crear un archivo de texto en el escritorio, o la carpeta C me manda un error diciendo:

        java.io.FileNotFoundException: C:\Users (Acceso denegado)
   at java.io.FileOutputStream.open0(Native Method)
   at java.io.FileOutputStream.open(FileOutputStream.java:270)
   at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
   at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
   at java.io.FileWriter.<init>(FileWriter.java:90)
   at Humano.Acciones.Comandos(Acciones.java:65)
   at Humano.Vivir.main(Vivir.java:58)

la verdad nunca me ha pasado me pueden ayudar? este es el codigo la idea es que el archivo se pueda hacer en diferentes pcs al pasar el programa:

public void Comandos(){
        System.out.println("Revisa en tu escritorio, hice un archivo de texto donde estan las instrucciones");
         try {
            String ruta = "C:/Users";
            String contenido = "Texto de prueba";
            File file = new File(ruta);
            // Si el archivo no existe es creado
            if (!file.exists()) {
                file.createNewFile();
            }
            FileWriter fw = new FileWriter(file);
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(contenido);
            bw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

este siempre me ha funcionado exepto ahora. ayuda


rub'n

#1
Cita de: JenselG en 26 Diciembre 2017, 21:21 PM
Hola a todos espero que estén bien, tengo un problema en java que al tratar de crear un archivo de texto en el escritorio, o la carpeta C me manda un error diciendo:

       java.io.FileNotFoundException: C:\Users (Acceso denegado)
   at java.io.FileOutputStream.open0(Native Method)
   at java.io.FileOutputStream.open(FileOutputStream.java:270)
   at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
   at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
   at java.io.FileWriter.<init>(FileWriter.java:90)
   at Humano.Acciones.Comandos(Acciones.java:65)
   at Humano.Vivir.main(Vivir.java:58)

la verdad nunca me ha pasado me pueden ayudar? este es el codigo la idea es que el archivo se pueda hacer en diferentes pcs al pasar el programa:

public void Comandos(){
       System.out.println("Revisa en tu escritorio, hice un archivo de texto donde estan las instrucciones");
        try {
           String ruta = "C:/Users";
           String contenido = "Texto de prueba";
           File file = new File(ruta);
           // Si el archivo no existe es creado
           if (!file.exists()) {
               file.createNewFile();
           }
           FileWriter fw = new FileWriter(file);
           BufferedWriter bw = new BufferedWriter(fw);
           bw.write(contenido);
           bw.close();
       } catch (Exception e) {
           e.printStackTrace();
       }
   }

este siempre me ha funcionado exepto ahora. ayuda



Testea este constructor
Código (java) [Seleccionar]
public File(String parent, String child) {}


Tal que quedaria asi como en la linea 6

Código (java) [Seleccionar]
public void Comandos(){
       System.out.println("Revisa en tu escritorio, hice un archivo de texto donde estan las instrucciones");
        try {
           String ruta = "C:/Users";
           String contenido = "Texto de prueba";
           File file = new File(ruta,"Archivo.txt"); //ruta padre ,  ruta hija  xD
           // Si el archivo no existe es creado
           if (!file.exists()) {
               file.createNewFile();
           }
           FileWriter fw = new FileWriter(file);
           BufferedWriter bw = new BufferedWriter(fw);
           bw.write(contenido);
           bw.close();
       } catch (Exception e) {
           e.printStackTrace();
       }
}


Dado que cuando creas un objeto de tipo File se supondria que tienes el nombre del archivo no solo el path o directorio por ejemplo, una ruta completa mas nombre de archivo en linux, para guindow$ como en tu caso.

Código (java) [Seleccionar]
private static final String RUTA = "/home/rubn/java/archivosJava/Ejercicio_1.txt";


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

JenselG

Gracias por la respuesta amigo hare lo que dices aver como me va