`
zxw882011_98
  • 浏览: 10373 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

java上传文件到远程服务器下的共享文件夹

阅读更多
[size=x-large]1. 导入jcifs-1.3.14.1.jar架包,创建类Smb

2. 声明属性

private static LogStream log = LogStream.getInstance();  //打印日志
private String url = "";      
private SmbFile smbFile = null;
private SmbFileOutputStream smbOut = null;
private static Smb smb = null; //共享文件协议

3. 得到Smb和连接的方法

public static synchronized Smb getInstance(String url) {
  if (smb == null)
   return new Smb(url);
  return smb;
}

/**
  * @param url服务器路径
  */
private Smb(String url) {
  this.url = url;
  this.init();
}

public void init() {
  try {
   log.println("开始连接...url:" + this.url);
   smbFile = new SmbFile(this.url);
   smbFile.connect();
   log.println("连接成功...url:" + this.url);
  } catch (MalformedURLException e) {
   e.printStackTrace();
   log.print(e);
  } catch (IOException e) {
   e.printStackTrace();
   log.print(e);
  }
}

4. 上传文件的方法

/**
  * 上传文件到服务器
  */
public int uploadFile(File file) {
  int flag = -1;
  BufferedInputStream bf = null;
  try {
   this.smbOut = new SmbFileOutputStream(this.url + "/" + file.getName(), false);
   bf = new BufferedInputStream(new FileInputStream(file));
   byte[] bt = new byte[8192];
   int n = bf.read(bt);
   while (n != -1) {
    this.smbOut.write(bt, 0, n);
    this.smbOut.flush();
    n = bf.read(bt);
   }
   flag = 0;
   log.println("文件传输结束...");
  } catch (SmbException e) {
   e.printStackTrace();
   log.println(e);
  } catch (MalformedURLException e) {
   e.printStackTrace();
   log.println(e);
  } catch (UnknownHostException e) {
   e.printStackTrace();
   log.println("找不到主机...url:" + this.url);
  } catch (IOException e) {
   e.printStackTrace();
   log.println(e);
  } finally {
   try {
    if (null != this.smbOut)
     this.smbOut.close();
    if (null != bf)
     bf.close();
   } catch (Exception e2) {
    e2.printStackTrace();
   }
  }

  return flag;
}

5. 在main方法里面测试

public static void main(String[] args) {
  //服務器地址 格式為 smb://电脑用户名:电脑密码@电脑IP地址/IP共享的文件夹
  String remoteUrl = "smb://huangyuewang:iso@127.0.0.1/iso"; 
  String localFile = "F:/宏茂达/资料/网友/fa8b64f05061c673730eec51.jpg";  //本地要上传的文件
  File file = new File(localFile);
  Smb smb = Smb.getInstance(remoteUrl);
  smb.uploadFile(file);// 上传文件
}
[/size]
分享到:
评论

相关推荐

    JAVA代码实现远程操作服务器文件

    JAVA代码实现远程操作服务器文件是指使用JAVA语言实现远程操作服务器文件的功能,实现FTP,共享文件夹操作。该功能可以实现远程服务器文件的上传、下载、复制、移动、删除等操作。 description: 该实现使用了...

    文件上传到远程服务器demo

    【标题】"文件上传到远程服务器demo"是一个Java编程示例,主要展示了如何实现文件从本地客户端上传到远程服务器的功能。这个项目包含了客户端和服务端两部分,设计清晰,注释详尽,便于理解和学习。 【描述】提到,...

    超详细!java访问windows共享目录并下载文件

    `SmbUtils.java`中的某个方法可能负责从共享目录读取文件内容,并通过文件流将其写入到本地目录。 4. **身份验证**: - 如果访问的共享目录需要密码,`CmdUtils.java`可能会包含处理Windows命令行身份验证的逻辑,...

    使用smbj.jar访问共享文件夹,解决SMB2/SMB3共享文件夹访问的问题

    使用smbj.jar,开发者可以创建Java程序来连接到远程服务器的共享文件夹,执行读写操作,甚至管理文件权限。以下是一些核心知识点: 1. **安装与引入**:首先,你需要下载smbj.jar并将其添加到你的项目类路径中。...

    Java共享文件夹接口

    在IT行业中,尤其是在分布式系统和网络编程领域,"Java共享文件夹接口"是一个重要的概念,它允许客户端应用程序访问和操作远程服务器上的文件,尤其是Word文档。这个接口的设计目的是为了实现跨平台的数据共享和协作...

    java操作共享文件

    System.out.println("共享文件夹存在"); } else if (file.exists() && !file.isDirectory()) { BufferedReader reader = new BufferedReader(new InputStreamReader(file.getInputStream())); String line; ...

    Java对Samba进行上传与下载文件-jcifs

    Java对Samba进行上传与下载文件的技术主要涉及Java编程、Samba服务器以及jcifs库的使用。Samba是一个开源软件,允许Linux/Unix系统与Windows系统之间进行文件共享,而jcifs是Java的一个库,它提供了对SMB(Server ...

    jcifs跨服务器操作共享文件夹.tgz

    标题中的"jcifs跨服务器操作共享文件夹.tgz"提到了jcifs库,这是一个Java库,主要用于在不同服务器之间进行SMB(Server Message Block)协议的文件操作,比如访问、读写共享文件夹。SMB是一种广泛用于Windows网络中...

    Jcifs创建远程文件夹的例子

    - **权限控制**:确保拥有在远程服务器上创建文件夹的权限。如果遇到权限问题,可能需要修改远程服务器的共享权限或用户账户的权限设置。 - **文件操作**:jcifs库不仅支持文件夹的创建,还支持读写文件、列举目录...

    java共享文件(windows).rar

    综上所述,实现Java在Windows环境下的文件共享需要理解Java的文件I/O、网络编程原理,掌握SMB协议的实现方式,以及Windows系统中的共享文件夹设置。通过使用合适的库和正确的异常处理策略,可以构建稳定、高效的应用...

    java判断远程服务器上的文件是否存在的方法

    但请注意,这种方法的成功与否取决于你的本地计算机是否能成功连接到远程服务器并访问共享文件。为了实现这个连接,你可能需要提供用户名和密码,这可以通过Java的`jcifs`库(Java CIFS client)来完成。`jcifs`库...

    java向其他机器写文件 共享机器写文件

    在Java编程中,经常需要实现跨机器文件操作的功能,比如从远程服务器读取文件或向远程服务器写入文件等。本篇文章将详细探讨如何利用Java实现这一功能,特别是通过JCIFS库进行文件共享的操作。 #### JCIFS 库简介 ...

    FTP、SMB方式下载、删除远程服务器文件

    在Windows中,只需在网络位置输入\\服务器IP\共享名,即可访问共享文件夹,双击文件即可开始下载。对于Mac和Linux,可以使用smbclient或者mount命令挂载SMB共享,然后如同操作本地文件一样下载。 删除远程服务器...

    java实现两台服务器间文件复制的方法

    总之,Java实现两台服务器间文件复制的方法涉及网络编程和文件I/O,理解这些基本概念是实现跨服务器文件复制的关键。在实际项目中,应根据需求选择合适的解决方案,并确保数据传输的安全性和可靠性。

    虚拟机LINUX与主机WINDOWS文件共享

    在虚拟机 LINUX 和主机 WINDOWS 之间实现文件共享需要使用 SAMBA 服务器。 SAMBA 是一个功能强大的开源软件,可以实现 LINUX 和 WINDOWS 之间的文件共享。下面将详细介绍如何实现虚拟机 LINUX 和主机 WINDOWS 之间的...

    java局域网文件自动下载

    #服务器共享文件夹 remoteShareDir=/graphxx/ #客户端下载地址 localDir=F\:/LoadFile/ 2、配置LoadConfig.properties放在服务器(192.168.8.250/graphxx/)端指定目录下 LoadConfig.properties内容: #下载文件...

    java源码包3

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JavaSocket传输文件夹.rar

    在Java编程中,Socket通信是一种基础且重要的网络通信方式,常用于实现客户端和服务器之间的数据交换。本示例中,"JavaSocket传输文件夹.rar"包含的服务端...这种技术广泛应用于分布式系统、文件共享、远程控制等领域。

    java源码包---java 源码 大量 实例

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    jcifs API开发文档、jar包等

    1. **连接共享**:使用 `SmbFile` 类的构造函数,指定服务器地址、共享名及认证信息,实现连接到远程文件服务器。 2. **读写文件**:使用 `SmbFileInputStream` 和 `SmbFileOutputStream` 类,可以像操作本地文件...

Global site tag (gtag.js) - Google Analytics