En el proyecto donde estoy colaborando hay una aplicación que necesita escribir archivos en un directorio compartido en un servidor windows por lo que necesitamos usar el protocolo CIFS/SMB, bien para esto tenemos la librería jCIFS que es una implementación de dicho protocolo y esta hecha en java completamente además de que es opensource.
También es posible usar esta librería para compartir recursos entre maquinas windows y máquinas unix que cuenten con el servicio samba.
Por ejemplo en este metodo escribimos un archivo en la carpeta compartida por otra maquina:
private boolean escribeArchivo(String encodedMessage, String nombreArchivo)
throws SmbException, MalformedURLException, UnknownHostException, IOException{
boolean exitoArchivo = false;
//String url = "smb://127.0.0.1/compartida/"+ nombreArchivo ;
//String url = "smb://usuario:usuario@127.0.0.1/compartida/"+ nombreArchivo ;
String url = "smb://"+ USR_SERVIDOR +":"+ PASS_SERVIDOR +"@"
+ URL_SERVIDOR + nombreArchivo + EXT_ARCHIVO;
try{
SmbFileOutputStream out = new SmbFileOutputStream(url, false);
out.write(encodedMessage.getBytes());
// encodeMessage es el texto que contiene el archivo
// aqui podemos enviar los bytes de algun archivo de la maquina local
out.close();
exitoArchivo = true;
System.out.println("generado " + url );
} catch(IOException ex){
exitoArchivo = false;
} finally{
return exitoArchivo;
}
}
Para borrar un archivo en la carpeta compartida:
private void borraArchivo(String archivo) throws SmbException,
MalformedURLException, UnknownHostException{
//String url = "smb://127.0.0.1/compartida/"+ nombreArchivo ;
//String url = "smb://usuario:usuario@127.0.0.1/compartida/"+ nombreArchivo ;
String url = "smb://"+ USR_SERVIDOR +":"+ PASS_SERVIDOR +"@"+ URL_SERVIDOR ;
String rutArchivo = url + archivo;
SmbFile sFile = new SmbFile(rutArchivo);
if(sFile.exists())
sFile.delete();
}
Para descargar la libreria y un poco de mas informacion pues sigan este link
http://jcifs.samba.org/
jueves 8 de enero de 2009
Suscribirse a:
Enviar comentarios (Atom)
1 comentarios:
Mil graciaaas por tu aportación, actualmente estoy trabajando con un proyecto similar! Me gustaria contactarte para ke me kompartieras más sobre este articulo. mi correo es
argiva2nero@gmail.com, por favor escribeme!. Me urge apender jcifs. Grax
Publicar un comentario en la entrada