cjpelaezrivas / prLazarus

Blog sobre el desarrollo de proyectos, enginería software y tutoriales
https://blog.prlazarus.es
1 stars 0 forks source link

Copiar directorio y contenido [Java] [Windows] - prLázarus #3

Open utterances-bot opened 4 years ago

utterances-bot commented 4 years ago

Copiar directorio y contenido [Java] [Windows] - prLázarus

prLázarus - Blog de programación y diario de desarrollo

https://prlazarus.tk/md_2014_06_10.html

FJSSabido commented 4 years ago

Buenas, gracia por compartir tu código, me está siendo de utilidad. Estoy tratando de hacer un programilla que automatice la copia de carpetas desde mi móvil a mi ordenador (Fotos, vídeos, música, etc...).

El problema surge cuando trato de pasarle en el valor de origen el path donde se encuentra la carpeta que quiero copiar, en ete caso: "Este equipo\realme 6 Pro\Memoria interna\music".

He debugueado y el problema está en que no me reconoce la ruta: directory.isDirectory() = false

He comprobado que si copio a mano la carpeta en esta dirección: "C:\music" y se la paso como parámetro de origen sí que lo copia a la carpeta destino.

¿Sabrías como podría modificar el programa para que acepte esa ruta?

Gracias de antemano!

cjpelaezrivas commented 4 years ago

Buenas @FJSSabido, gracias por comentar. Parece por tu comentario que estas usando usando Windows. El explorador de ficheros por defecto te avisa de que estás viendo un directorio que pertenece a la máquina local con "Este equipo". Eso que te muestra no es una ruta real, por eso falla la comprobación isDirectory().

Aparentemente, al conectar un dispositivo móvil por USB (conexión MTP), Windows lo muestra como una unidad más, pero internamente usa un ruta privada que resulta difícil de obtener tanto para acceder por consola de comandos o en este caso usando Java.

Puedes echar un vistazo a este enlace [1], hay algunos comentarios que dan a entender que es posible montar el dispositivo como una unidad real de Windows. De ser el caso, podrías acceder con una letra, como accedes a C o cualquier otra.

Siento no ser de más ayuda. Saludos.

[1] https://superuser.com/questions/369959/how-do-i-access-mtp-devices-on-the-command-line-in-windows