Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: JenselG en 26 Diciembre 2017, 21:21 PM

Título: Ayuda, error al crear un archivo con java
Publicado por: 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

Título: Re: Ayuda, error al crear un archivo con java
Publicado por: rub'n en 27 Diciembre 2017, 04:40 AM
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";
Título: Re: Ayuda, error al crear un archivo con java
Publicado por: JenselG en 27 Diciembre 2017, 12:58 PM
Gracias por la respuesta amigo hare lo que dices aver como me va