elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  FileOutputStream (Acceso Denegado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: FileOutputStream (Acceso Denegado)  (Leído 18,124 veces)
alexmacan

Desconectado Desconectado

Mensajes: 101


Ver Perfil
FileOutputStream (Acceso Denegado)
« en: 9 Septiembre 2010, 19:18 pm »

Buenas, espero que me podais echar una mano con este problemilla que tengo, he creado/conseguido/modificado un metodo que dado una ruta, te detecta si es una carpeta o un archivo, si es carpeta te crea la carpeta y te copia su contenido en la ruta de destino, si es una archivo copiar el archivo en la ruta de destino.

El problema segun yo creo es Windows 7 que no me da permisos para escribir, y eso que he probado varias carpetas de destino.

Falla cuando intenta crear: OutputStream out = new FileOutputStream(destino);
¿hay alguna otra manera o solucion?

el error obtenido por consola es el siguiente:

09-sep-2010 18:50:05 backup.Backup jButton1ActionPerformed
GRAVE: null
java.io.FileNotFoundException: C:\Copia (Acceso denegado)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
        at backup.Metodos.copyArchivo(Metodos.java:86)
        at backup.Metodos.copyDirectorio(Metodos.java:71)
        at backup.Metodos.copiarCarpeta(Metodos.java:43)
        at backup.Backup.jButton1ActionPerformed(Backup.java:283)
        at backup.Backup.access$100(Backup.java:30)
        at backup.Backup$2.actionPerformed(Backup.java:99)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


Un Saludo y gracias.


« Última modificación: 9 Septiembre 2010, 19:20 pm por alexmacan » En línea

danielo-

Desconectado Desconectado

Mensajes: 218


:)


Ver Perfil
Re: FileOutputStream (Acceso Denegado)
« Respuesta #1 en: 9 Septiembre 2010, 21:06 pm »

Es raro que no te deje crear carpetas directo en C, aquel dia tuve un problema parecido al crear un archivo, no me dejaba, pero lo solucione creando una carpeta y metiendo los archivos desntro, mmm... checa si estas loguiado como admin en windows...
Aunque checando tu codigo... veo que intentas crear una carpeta con el fileOutputSream, no se si ese sea tu error, intenta con este code
Código
  1.  
  2. import java.io.FileReader;
  3. import java.io.FileWriter;
  4. import java.io.BufferedReader;
  5. import java.io.File;
  6.  
  7. class Main{
  8.  
  9. public static void main(String arg[]){
  10. try{
  11.  
  12. java.io.File dir = new File("C:\\destino");
  13. dir.mkdir();
  14. }
  15. catch(Exception e){
  16. e.printStackTrace();
  17. }
  18. }
  19. }
  20.  

Saludos!


En línea

alexmacan

Desconectado Desconectado

Mensajes: 101


Ver Perfil
Re: FileOutputStream (Acceso Denegado)
« Respuesta #2 en: 9 Septiembre 2010, 21:13 pm »

Gracias por tu respuesta danyelk_6u5 pero el codigo que me facilitas creo que es semejante al mio, estoy logeado como administrador y la verdad que nose que mas probar, voy a postear el metodo que uso al completo, pero aun asi creo que no es el problema, sino los permisos.

  public static void copyDirectorio(File srcDir, File dstDir) throws IOException {
        if (srcDir.isDirectory()) {
            if (!dstDir.exists()) {
                dstDir.mkdirs();
               }

            String[] children = srcDir.list();
            for (int i=0; i<children.length; i++) {
                copyDirectorio(new File(srcDir, children),
                    new File(dstDir, children));
            }
        } else {
            copyArchivo(srcDir, dstDir);
        }
    }

    /**
     * Copia un solo archivo
     */
    public static void copyArchivo(File src, File dst) throws IOException {


        InputStream in = new FileInputStream(src);

        OutputStream out = new FileOutputStream(dst);
       


        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
    }
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: FileOutputStream (Acceso Denegado)
« Respuesta #3 en: 9 Septiembre 2010, 21:47 pm »

tiene quizás tu maquina virtual por algun motivo específico permisos de ejecución restringidos?

Saludos
En línea

alexmacan

Desconectado Desconectado

Mensajes: 101


Ver Perfil
Re: FileOutputStream (Acceso Denegado)
« Respuesta #4 en: 9 Septiembre 2010, 23:29 pm »

SI, eso tambien lo habia comprobado, el caso es que lo e probado en otro windows 7 y en un XP y sigue tirando el mismo error, el comportamiento que tiene el programa es el siguiente:

Si tiene que copiar una carpeta, te copia el contenido(carpetas y archivos) en el destino raiz, en lugar de crear la nueva carpeta en el destino raiz y copiar dentro el contenido.

Si lo que va a copiar es un archivo nisiquiera lo copia.

Observando la consola es donde manda ese error por cada archivo o carpeta que quiere copiar.

Alguna idea de como solucionar esto  :huh:

Muchas gracias por vuestra atencion
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con FileOutputStream en hosting Linux
Java
DanyKadiz 0 1,440 Último mensaje 29 Agosto 2012, 03:00 am
por DanyKadiz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines