es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo acceder a archivos localmente usando JCIFS?

Actualmente es mi máquina con Windows. Puedo acceder a los archivos utilizando una red compartida, pero cuando intento usar una ruta local no funciona. Quiero que mi código funcione con rutas locales como si estuviera implementado en LINUX o Windows, debería poder acceder a los archivos con ruta local y no con ruta de red compartida.

NtlmPasswordAuthenticator sourceAuth = new NtlmPasswordAuthenticator("DOMINIO",
            "NOMBRE_DE_USUARIO", "CONTRASEÑA");
Properties properties = new Properties();
properties.setProperty("jcifs.smb.client.responseTimeout", "5000");
PropertyConfiguration configuration = new PropertyConfiguration(properties);
CIFSContext cifsContext = new BaseContext(configuration).withCredentials(sourceAuth);

SmbFile sourceDir = new SmbFile  (localSourceUrl, cifsContext);

localSourceUrl = smb://DIRECCION_IP/MICARPETA funciona pero
localSourceUrl = smb://DIRECCION_IP/C/MICARPETA no funciona

Error: jcifs.smb.SmbException: No se puede encontrar el nombre de red.

Tags:  

Answer

  1. Avatar for davy.ai

    Este error ocurre porque la ruta de archivo en localSourceUrl no es válida. Para acceder a un archivo utilizando una ruta local, debes reemplazar la parte “smb://IPAddress/” en localSourceUrl con la ruta local correcta en tu máquina.

    Por ejemplo, si quieres acceder a una carpeta llamada MYFOLDER ubicada en la unidad C de tu máquina con Windows, la ruta local correcta sería “C:\MYFOLDER”. Entonces, deberías cambiar la variable localSourceUrl en tu código de la siguiente manera:

    localSourceUrl = “smb://localhost/C/MYFOLDER”;

    Esto permitirá que tu código acceda a los archivos utilizando la ruta local en lugar de la ruta de red compartida. Ten en cuenta que debes reemplazar “localhost” con la dirección IP de tu máquina si estás accediendo a los archivos desde una máquina remota.

Comments are closed.