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") ;

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Hallo, mein Name ist somenzz, du kannst mich Bruder Zheng nennen. Der Import von Python ist sehr intuitiv, aber manchmal werden Sie feststellen, dass trotz des Vorhandenseins des Pakets immer noch ModuleNotFoundError auftritt. Der relative Pfad ist offensichtlich sehr korrekt, aber der Fehler ImportError:attemptedrelativeimportwithnoknownparentpackage importiert ein Modul im selben Verzeichnis ein anderes. Die Module des Verzeichnisses sind völlig unterschiedlich. Dieser Artikel hilft Ihnen, den Import zu vereinfachen, indem er einige Probleme analysiert, die bei der Verwendung des Imports auftreten. Auf dieser Grundlage können Sie problemlos Attribute erstellen.

So ordnen Sie ein Netzlaufwerk auf dem Mac mit dem Finder zu Der schnellste Weg, ein Netzlaufwerk zuzuordnen, ist die Verwendung der Finder-Anwendung. Mit dieser Methode wird eine temporäre Verbindung zu Ihrem Netzlaufwerk hergestellt. Es bleibt jedoch nicht bestehen, nachdem Sie Ihren Mac neu gestartet haben. macOS unterstützt Samba (SMB)-Netzwerkfreigaben. Dies ist ein gängiges Dateifreigabeprotokoll, das unter Windows, Mac und (in geringerem Maße) Linux verwendet wird. Aufgrund der plattformübergreifenden Unterstützung verwendet Ihr Netzlaufwerk höchstwahrscheinlich Samba für die Dateifreigabe im Netzwerk, was in diesem Tutorial vorausgesetzt wird. Ordnen Sie ein Netzlaufwerk auf dem Mac mit dem Finder zu: Vom Dock oder La

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

In Linux-Systemen ist Samba ein sehr wichtiges Tool, das die Datei- und Druckerfreigabe zwischen Linux-Systemen und Windows-Systemen ermöglicht. Samba bietet eine einfache und effektive Methode zur plattformübergreifenden Dateifreigabe, sodass Linux-Systeme nahtlos mit Windows-Systemen verbunden werden können In diesem Artikel erfahren Sie, wie Sie Samba unter CentOS installieren und die Dateifreigabe konfigurieren. CentOS bietet als beliebte Linux-Distribution eine einfache und schnelle Möglichkeit, Samba auf CentOS zu installieren: Bevor wir Software installieren, sollten wir das System aktualisieren, um die neuesten Softwarepakete und Sicherheitspatches zu erhalten , öffnen Sie das Terminal

Eingehende Analyse: Was ist der Unterschied zwischen Link und Import? Bei der Entwicklung von Webseiten oder Anwendungen müssen wir häufig externe CSS-Dateien oder JavaScript-Bibliotheken einführen, um unseren Code zu verbessern oder anzupassen. In diesem Prozess sind Verknüpfung und Import zwei häufig verwendete Methoden. Obwohl ihr Zweck darin besteht, externe Ressourcen einzuführen, gibt es einige Unterschiede in der spezifischen Verwendung. Syntax und Speicherort: Link: Verwenden Sie das Link-Tag, um externe Ressourcen in die HTML-Datei zu verlinken, die sich normalerweise am Kopf des HTML-Dokuments befindet

Zu den Unterschieden zwischen Link-Tags und Import gehören Syntax und Verwendung, Funktionen und Features, Ladezeitpunkt, Kompatibilität und Support usw. Detaillierte Einführung: 1. Syntax und Verwendung. Das Link-Tag ist ein HTML-Tag, das zum Einfügen externer Ressourcen in HTML-Dokumente verwendet wird, z. B. CSS-Stylesheets, JavaScript-Skripte, Symbole usw. import ist die Modulimportsyntax in ES6, die in verwendet wird JavaScript-Dateien. Einführung externer Module; 2. Funktionen und Features. Das Link-Tag kann eine Vielzahl von Ressourcen einführen, z. B. CSS-Stylesheets, Symbole usw.

Es gibt viele Lösungen im Internet, die ich zum späteren Nachschlagen zusammengefasst habe. Möglicherweise können Sie das Problem lösen, indem Sie die letzte Lösung verwenden. Wenn das Paket, das Sie importieren möchten, nicht unter „Bibliotheken“ vorhanden ist, müssen Sie prüfen, ob ein Problem mit den entsprechenden Abhängigkeiten im POM vorliegt und ob im verwendeten Warehouse ein entsprechendes JAR-Paket, z. B. die Namensversion, vorhanden ist. Wenn Sie sicherstellen, dass kein Problem vorliegt, versuchen Sie es mit den folgenden Methoden, um es zu lösen. 1. Führen Sie Maven->reloadproject aus. Funktion: Importieren Sie das Maven-Paket auf zwei Arten erneut: 1. Wählen Sie die rechte Schaltfläche des Projektverzeichnisses->Maven->reloadproject2

Node.js unterstützt die Importsyntax. Es handelt sich um einen einfachen Wissenspunkt, der uns jedoch daran erinnern kann, aus Wissensmissverständnissen herauszukommen, der Außenwelt des Wissens mehr Aufmerksamkeit zu schenken und die Grenzen unseres eigenen Wissens ständig zu öffnen.
