JAVA远程访问共享目录
1.2 jcifs
Jcifs pan>是一个用JAVA开发的SMB客户端库,利用jcifs可以操作windows共享文件,可以得到域用户,实现单点登录,最新版本为:1.3.12,官方网址:http://jcifs.samba.org/
2. 代码实现
package uploadSMB;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileInputStream;
import jcifs.smb.SmbFileOutputStream;
public class UploadDownloadUtil {
/**
* Description: 从共享目录拷贝文件到本地
* @Version1.0 Sep 25, 2009 3:48:38 PM
* @param remoteUrl 共享目录上的文件路径
* @param localDir 本地目录
*/
public void smbGet(String remoteUrl,String localDir) {
InputStream in = null;
OutputStream out = null;
try {
SmbFile remoteFile = new SmbFile(remoteUrl);
if(remoteFile==null){
System.out.println("共享文件不存在");
return;
}
String fileName = remoteFile.getName();
File localFile = new File(localDir+File.separator+fileName);
in = new BufferedInputStream(new SmbFileInputStream(remoteFile));
out = new BufferedOutputStream(new FileOutputStream(localFile));
byte[] buffer = new byte[1024];
while(in.read(buffer)!=-1){
out.write(buffer);
buffer = new byte[1024];
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* Description: 从本地上传文件到共享目录
* @Version1.0 Sep 25, 2009 3:49:00 PM
* @param remoteUrl 共享文件目录
* @param localFilePath 本地文件绝对路径
*/
public void smbPut(String remoteUrl,String localFilePath) {
InputStream in = null;
OutputStream out = null;
try {
File localFile = new File(localFilePath);
String fileName = localFile.getName();
SmbFile remoteFile = new SmbFile(remoteUrl+"/"+fileName);
in = new BufferedInputStream(new FileInputStream(localFile));
out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile));
byte[] buffer = new byte[1024];
while(in.read(buffer)!=-1){
out.write(buffer);
buffer = new byte[1024];
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args){
UploadDownloadUtil test = new UploadDownloadUtil() ;
// smb:域名;用户名:密码@目的IP/文件夹/文件名.xxx
//test.smbGet("smb://szpcg;jiang.t:xxx@192.168.193.13/Jake/test.txt", "c://") ;
test.smbPut("smb://szpcg;jiang.t:xxx@192.168.193.13/Jake", "c://test.txt") ;
}
}
2.3 remoteUrl说明
remoteUrl如何填写是值得注意的
如果是无需密码的共享,则类似如下格式:
smb://ip/sharefolder(例如:smb://192.168.0.77/test)
如果需要用户名、密码,则类似如下格式:
Smb://username:password@ip/sharefolder(例如:smb://chb:123456@192.168.0.1/test)
// smb:域名;用户名:密码@目的IP/文件夹/文件名.xxx
//test.smbGet("smb://szpcg;jiang.t:xxx@192.168.193.13/Jake/test.txt", "c://") ;
test.smbPut("smb://szpcg;jiang.t:xxx@192.168.193.13/Jake", "c://test.txt") ;

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

你好,我是somenzz,可以叫我徵哥。 Python的import是非常直覺的,但即使這樣,有時你會發現,明明套件就在那裡,我們仍會遇到ModuleNotFoundError,明明相對路徑非常正確,就是報錯ImportError:attemptedrelativeimportwithnoknownparentpackage導入同一個目錄的模組和不同的目錄的模組是完全不同的,本文透過分析使用import經常遇到的一些問題,來幫助你輕鬆搞定import,據此,你可以輕鬆創建屬

如何使用 Finder 在 Mac 上映射網路磁碟機來映射網路磁碟機的最快方法是使用Finder應用程式。此方法將建立到您的網路磁碟機的臨時連線。但是,在您重新啟動 Mac 後,它不會保留在原位。 macOS 支援Samba (SMB) 網路共享。這是在 Windows、Mac 和(在較小程度上)Linux 上使用的常見檔案共用協定。由於它的跨平台支持,您的網路磁碟機很可能會使用 Samba 進行網路檔案共享,本教學將假定為這樣。使用 Finder 在 Mac 上映射網路磁碟機:從 Dock 或 La

在Linux系統中,Samba是一個非常重要的工具,它允許Linux系統與Windows系統之間進行文件和印表機共享,Samba提供了一種簡單而有效的方法來實現跨平台的文件共享,使得Linux系統可以與Windows系統無縫連接,本文將介紹如何在CentOS上安裝Samba,並設定檔共用。 CentOS作為一種流行的Linux發行版,提供了簡單而快速的方法來安裝和配置Samba,以下是在CentOS上安裝Samba的步驟:在安裝任何軟體之前,我們應該先更新系統以獲取最新的軟體包和安全補丁,打開終

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

link標籤和import的差異有語法和用途、功能和特性、載入時機、相容性和支援等。詳細介紹:1、語法和用途,link標籤是HTML標籤,用於在HTML文件中引入外部資源,如CSS樣式表、JavaScript腳本、圖示等,import是ES6中的模組導入語法,用於在JavaScript文件中引入外部模組;2、功能和特性,link標籤可以引入多種資源,如CSS樣式表、圖示等等。

深入解析:link與import的差別是什麼?在開發網頁或應用程式時,我們經常需要引入外部的CSS檔案或JavaScript庫來增強或自訂我們的程式碼。在這個過程中,link和import是兩種常用的方法。雖然它們的目的都是引入外部資源,但在具體的使用上有一些差異。語法與位置:link:使用link標籤將外部資源連結到HTML檔案中,通常位於HTML文件的頭

網路上有很多解決方式,我想到的都匯總起來了,方便以後查看,你可能採用其中一種就能解決問題,我是用了最後一種才解決。如果你要導入的包在Libraries下都本身一直沒有存在,你這時就得看看pom裡對應的依賴寫的有沒有問題,名字版本什麼的在使用的倉庫中有沒有對應的jar包,如果確定沒有問題,那麼再嘗試採取以下的前幾種方式解決。 1.執行Maven->reloadproject作用:重新匯入Maven包2種方式:1.選擇Project目錄右鍵->Maven->reloadproject2

node.js支援import語法,很簡單一個知識點,但卻能提醒我們從知識迷思裡走出來,多關注外邊的知識世界,不斷打開自己的知識邊界。
