JAVA远程访问共享目录

Jun 07, 2016 pm 05:45 PM
import new quot smb

 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 までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python のインポートはどのように機能するのでしょうか? Python のインポートはどのように機能するのでしょうか? May 15, 2023 pm 08:13 PM

こんにちは、私の名前はsomenzzです。鄭兄弟と呼んでください。 Python のインポートは非​​常に直感的ですが、それでも、パッケージがそこにあるにもかかわらず、ModuleNotFoundError が発生することがあります。明らかに、相対パスは非常に正しいですが、エラー ImportError:attemptedrelativeimportwithnoknownparentpackage により、同じディレクトリにモジュールがインポートされ、別のものです。ディレクトリのモジュールは完全に異なります。この記事は、インポートの使用時によく発生するいくつかの問題を分析することで、インポートを簡単に処理するのに役立ちます。これに基づいて、属性を簡単に作成できます。

Mac でネットワーク ドライブをマッピングする方法 Mac でネットワーク ドライブをマッピングする方法 Apr 14, 2023 am 08:49 AM

Finder を使用して Mac でネットワーク ドライブをマッピングする方法 ネットワーク ドライブをマッピングする最も速い方法は、Finder アプリケーションを使用することです。この方法では、ネットワーク ドライブへの一時的な接続が作成されます。ただし、Mac を再起動すると、この設定は維持されません。 macOS は Samba (SMB) ネットワーク共有をサポートしています。これは、Windows、Mac、および (程度は低いですが) Linux で使用される一般的なファイル共有プロトコルです。クロスプラットフォーム サポートのため、ネットワーク ドライブはネットワーク ファイル共有に Samba を使用している可能性が高く、このチュートリアルではこれを前提とします。 Finder を使用して Mac でネットワーク ドライブをマッピングする: Dock または La から

SMB は CentOS をインストールし、CentOS は Samba をインストールします SMB は CentOS をインストールし、CentOS は Samba をインストールします Feb 14, 2024 pm 05:15 PM

Linux システムでは、Samba は、Linux システムと Windows システムの間でファイルとプリンタの共有を可能にする非常に重要なツールです。Samba は、クロスプラットフォームのファイル共有を実現するためのシンプルかつ効果的な方法を提供し、Linux システムが Windows システムにシームレスに接続できるようにします。この記事では、CentOS に Samba をインストールし、ファイル共有を設定する方法を紹介します。 CentOS は、人気のある Linux ディストリビューションとして、Samba を簡単かつ迅速にインストールして構成する方法を提供します。CentOS に Samba をインストールする手順は次のとおりです: ソフトウェアをインストールする前に、システムを更新して最新のソフトウェア パッケージとセキュリティ パッチを入手する必要があります。 、ターミナルを開きます

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

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

リンクタグとインポートの違いは何ですか? リンクタグとインポートの違いは何ですか? Aug 28, 2023 am 11:19 AM

リンクタグとインポートの違いには、構文と使用法、機能と特長、読み込みタイミング、互換性とサポートなどが含まれます。詳細な紹介: 1. 構文と使用法. リンク タグは HTML タグで、CSS スタイル シート、JavaScript スクリプト、アイコンなどの外部リソースを HTML ドキュメントに導入するために使用されます。 JavaScript ファイル. 外部モジュールの導入; 2. 機能と特徴. リンクタグではCSSスタイルシートやアイコンなど様々なリソースを導入できます。

リンクとインポートの違いについて詳しく説明します。両者の違いは何ですか? リンクとインポートの違いについて詳しく説明します。両者の違いは何ですか? Jan 06, 2024 am 08:19 AM

詳細な分析: リンクとインポートの違いは何ですか? Web ページやアプリケーションを開発する場合、コードを強化またはカスタマイズするために、外部 CSS ファイルや JavaScript ライブラリを導入する必要があることがよくあります。このプロセスでは、リンクとインポートの 2 つの方法がよく使用されます。外部リソースの導入を目的としていますが、具体的な使い方にはいくつかの違いがあります。構文と場所: link: 外部リソースを HTML ファイルにリンクするには、link タグを使用します。通常は HTML ドキュメントの先頭にあります。

パッケージインポート時にJavaパッケージが存在しない問題の解決方法 パッケージインポート時にJavaパッケージが存在しない問題の解決方法 Apr 19, 2023 am 10:22 AM

インターネット上には多くの解決策があります。今後の参考のために私が考えた解決策をまとめました。そのうちの 1 つを使用すると問題が解決する可能性があります。私は最後の方法を使用して解決しました。インポートしたいパッケージがLibraries配下に存在しない場合は、pom内の対応する依存関係の記述に問題がないか、使用中のウェアハウス内に対応するjarパッケージが存在するか(名前バージョンなど)を確認する必要があります。問題がないことを確認した場合は、以下の最初のいくつかの方法を試して問題を解決してください。 1. Maven を実行します -> reloadproject 機能: Maven パッケージを再インポートします 2 つの方法: 1. プロジェクト ディレクトリの右ボタンを選択します -> Maven -> reloadproject2

ノードでインポート構文を使用する方法の簡単な分析 ノードでインポート構文を使用する方法の簡単な分析 Mar 21, 2023 pm 06:53 PM

Node.js はインポート構文をサポートしており、これは単純な知識ポイントですが、知識の誤解をなくし、知識の外の世界にもっと注意を払い、自分自身の知識の境界を常に開くことを思い出させてくれます。

See all articles