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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Hello, nama saya somenzz, awak boleh panggil saya Abang Zheng. Import Python adalah sangat intuitif, tetapi walaupun begitu, kadangkala anda akan mendapati bahawa walaupun pakej itu ada, kami masih akan menemui ModuleNotFoundError Laluan relatif jelas sangat betul, tetapi ralat ImportError:attemptedrelativeimportwithnoknownparentpackage mengimport modul dalam direktori yang sama dan. yang berbeza. Modul direktori adalah berbeza sama sekali. Artikel ini membantu anda mengendalikan import dengan mudah dengan menganalisis beberapa masalah yang sering dihadapi apabila menggunakan import, anda boleh membuat atribut dengan mudah.

Cara Memetakan Pemacu Rangkaian pada Mac Menggunakan Finder Cara terpantas untuk memetakan pemacu rangkaian ialah menggunakan aplikasi Finder. Kaedah ini akan membuat sambungan sementara ke pemacu rangkaian anda. Walau bagaimanapun, ia tidak kekal pada tempatnya selepas anda memulakan semula Mac anda. macOS menyokong perkongsian rangkaian Samba (SMB). Ini ialah protokol perkongsian fail biasa yang digunakan pada Windows, Mac dan (sebahagian kecilnya) Linux. Disebabkan sokongan merentas platformnya, pemacu rangkaian anda berkemungkinan besar menggunakan Samba untuk perkongsian fail rangkaian, yang akan diandaikan oleh tutorial ini. Petakan pemacu rangkaian pada Mac menggunakan Finder: Dari Dock atau La

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

Dalam sistem Linux, Samba ialah alat yang sangat penting yang membolehkan perkongsian fail dan pencetak antara sistem Linux dan sistem Windows Samba menyediakan kaedah yang mudah dan berkesan untuk mencapai perkongsian fail merentas platform, supaya sistem Linux boleh disambungkan dengan lancar ke sistem Windows, ini. artikel akan memperkenalkan cara memasang Samba pada CentOS dan mengkonfigurasi perkongsian fail. CentOS, sebagai pengedaran Linux yang popular, menyediakan cara yang mudah dan pantas untuk memasang dan mengkonfigurasi Samba Berikut ialah langkah-langkah untuk memasang Samba pada CentOS: Sebelum memasang sebarang perisian, kami harus mengemas kini sistem untuk mendapatkan pakej perisian dan tampung keselamatan , buka terminal

Analisis mendalam: Apakah perbezaan antara pautan dan import? Apabila membangunkan halaman web atau aplikasi, kami selalunya perlu memperkenalkan fail CSS luaran atau perpustakaan JavaScript untuk meningkatkan atau menyesuaikan kod kami. Dalam proses ini, pautan dan import adalah dua kaedah yang biasa digunakan. Walaupun tujuan mereka adalah untuk memperkenalkan sumber luaran, terdapat beberapa perbezaan dalam penggunaan khusus. Sintaks dan lokasi: pautan: Gunakan teg pautan untuk memautkan sumber luaran ke dalam fail HTML, biasanya terletak di kepala dokumen HTML

Pasaran token tidak boleh kulat global telah mengalami sedikit lonjakan lagi minggu ini, dengan volum jualan dagangan melepasi $100 juta untuk minggu ketiga.

Node.js menyokong sintaks import Ia adalah titik pengetahuan yang mudah, tetapi ia boleh mengingatkan kita untuk keluar daripada salah faham pengetahuan, memberi lebih perhatian kepada dunia luar pengetahuan dan sentiasa membuka sempadan pengetahuan kita sendiri.

Perbezaan antara teg pautan dan import termasuk sintaks dan penggunaan, fungsi dan ciri, masa pemuatan, keserasian dan sokongan, dsb. Pengenalan terperinci: 1. Sintaks dan penggunaan Teg pautan ialah teg HTML, digunakan untuk memperkenalkan sumber luaran ke dalam dokumen HTML, seperti helaian gaya CSS, skrip JavaScript, ikon, dsb. import ialah sintaks import modul dalam ES6, digunakan dalam Fail JavaScript. Memperkenalkan modul luaran;
