プロジェクトで samba を処理するためにjcifsを使用しました。jcifs.smb.SmbFile
に似た名前のクラスがあり、java.io.File
samba ファイルをローカル ファイルのように処理できます。listFiles()
、delete()
、exists()
、などのメソッドは getInputStream()
、createNewFile()
ニーズを満たす必要があります。
これはダウンランド ファイルのデモです。お役に立てば幸いです。
SmbFileInputStream is = null;
FileOutputStream os = null;
//
String souFileUrl = "smb://" + user + ":" + password + "@" + server + "/" + souFileName;
SmbFile souSmbFile = new SmbFile(souFileUrl);
is = new SmbFileInputStream(souSmbFile);
File tempOutFile = new java.io.File(newfilename);
os = new FileOutputStream(tempOutFile);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}