찾다
데이터 베이스MySQL 튜토리얼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") ;

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python 的 import 是怎么工作的?Python 的 import 是怎么工作的?May 15, 2023 pm 08:13 PM

你好,我是somenzz,可以叫我征哥。Python的import是非常直观的,但即使这样,有时候你会发现,明明包就在那里,我们仍会遇到ModuleNotFoundError,明明相对路径非常正确,就是报错ImportError:attemptedrelativeimportwithnoknownparentpackage导入同一个目录的模块和不同的目录的模块是完全不同的,本文通过分析使用import经常遇到的一些问题,来帮助你轻松搞定import,据此,你可以轻松创建属

如何在 Mac 上映射网络驱动器如何在 Mac 上映射网络驱动器Apr 14, 2023 am 08:49 AM

如何使用 Finder 在 Mac 上映射网络驱动器映射网络驱动器的最快方法是使用Finder应用程序。此方法将创建到您的网络驱动器的临时连接。但是,在您重新启动 Mac 后,它不会保留在原位。macOS 支持Samba (SMB) 网络共享。这是在 Windows、Mac 和(在较小程度上)Linux 上使用的常见文件共享协议。由于它的跨平台支持,您的网络驱动器很可能使用 Samba 进行网络文件共享,本教程将假定为这样。使用 Finder 在 Mac 上映射网络驱动器:从 Dock 或 La

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决Jun 13, 2016 am 10:23 AM

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

SMB安装CentOS及CentOS安装SambaSMB安装CentOS及CentOS安装SambaFeb 14, 2024 pm 05:15 PM

在Linux系统中,Samba是一个非常重要的工具,它允许Linux系统与Windows系统之间进行文件和打印机共享,Samba提供了一种简单而有效的方法来实现跨平台的文件共享,使得Linux系统可以与Windows系统无缝连接,本文将介绍如何在CentOS上安装Samba,并配置文件共享。CentOS作为一种流行的Linux发行版,提供了简单而快速的方法来安装和配置Samba,下面是在CentOS上安装Samba的步骤:在安装任何软件之前,我们应该先更新系统以获取最新的软件包和安全补丁,打开终

link和import的区别细说:分析它们有何不同?link和import的区别细说:分析它们有何不同?Jan 06, 2024 am 08:19 AM

深入解析:link与import的区别是什么?在开发网页或应用程序时,我们经常需要引入外部的CSS文件或JavaScript库来增强或定制我们的代码。在这个过程中,link和import是两种常用的方法。虽然它们的目的都是引入外部资源,但在具体的使用上存在一些区别。语法和位置:link:使用link标签将外部资源链接到HTML文件中,通常位于HTML文档的头

Top 10 Non-Fungible Token (NFT) Collections This Week: Solana Monkey Business Takes the LeadTop 10 Non-Fungible Token (NFT) Collections This Week: Solana Monkey Business Takes the LeadJul 28, 2024 pm 06:08 PM

The global non-fungible token market has experienced some surge again this week, with trading sales volume surpassing $100 million for the third week.

浅析node中怎么使用import语法浅析node中怎么使用import语法Mar 21, 2023 pm 06:53 PM

node.js支持import语法,很简单一个知识点,但是却能提醒我们从知识误区里走出来,多关注外边的知识世界,不断打开自己的知识边界。

link标签和import有什么区别link标签和import有什么区别Aug 28, 2023 am 11:19 AM

link标签和import的区别有语法和用途、功能和特性、加载时机、兼容性和支持等。详细介绍:1、语法和用途,link标签是HTML标签,用于在HTML文档中引入外部资源,如CSS样式表、JavaScript脚本、图标等,import是ES6中的模块导入语法,用于在JavaScript文件中引入外部模块;2、功能和特性,link标签可以引入多种资源,如CSS样式表、图标等等。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기