`

java 远程 发送文件到服务器

    博客分类:
  • java
阅读更多
package org.forever.util;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.UnknownHostException;

import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileOutputStream;

public class Smb {


//1. 导入jcifs-1.3.14.1.jar架包,创建类Smb
//
//2. 声明属性

private String url = "smb://administrator:goboo8823960000@192.168.2.153/肖秋峰/3.1/";      
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 {
   System.out.println("开始连接...url:" + this.url);
   smbFile = new SmbFile(this.url);
   smbFile.connect();
   System.out.println("连接成功...url:" + this.url);
  } catch (MalformedURLException e) {
   e.printStackTrace();
   System.out.print(e);
  } catch (IOException e) {
   e.printStackTrace();
   System.out.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;
   System.out.println("文件传输结束...");
  } catch (SmbException e) {
   e.printStackTrace();
   System.out.println(e);
  } catch (MalformedURLException e) {
   e.printStackTrace();
   System.out.println(e);
  } catch (UnknownHostException e) {
   e.printStackTrace();
   System.out.println("找不到主机...url:" + this.url);
  } catch (IOException e) {
   e.printStackTrace();
   System.out.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://administrator:goboo8823960000@192.168.2.153/肖秋峰/"; 
  String localFile = "F:/开关生产销售企业名录.xls";  //本地要上传的文件
  File file = new File(localFile);
  Smb smb = Smb.getInstance(remoteUrl);
  smb.uploadFile(file);// 上传文件
}
}
分享到:
评论

相关推荐

    java 实现上传文件到远程服务器

    ### Java 实现上传文件到远程服务器(Spring MVC) 在现代软件开发中,文件上传功能是十分常见的需求之一,尤其在Web应用中。本篇文章将详细介绍如何利用Java编程语言结合Spring MVC框架来实现文件的远程上传功能。...

    JAVA实现远程文件读取

    JAVA实现远程文件读取 JAVA是一种广泛应用于软件开发的编程语言,随着网络技术的发展,JAVA也提供了许多支持远程文件读取的功能,本文将详细介绍JAVA实现远程文件读取的知识点。 1. Socket 编程 在JAVA中,Socket...

    java远程传输文件

    Java远程传输文件 Java是一种跨平台的语言,在实际开发中,经常需要传输文件,该代码是一个很好的传输文件的例子。本文将对该代码进行详细的解释,从标题、描述、标签和部分内容中生成相关知识点。 一、标题:Java...

    java,jsp读取远程图片到本地服务器

    在Java和JSP开发中,有时我们需要处理在线编辑器上传的内容,这可能涉及到从Web页面中获取远程图片并将其保存到本地服务器。这样的功能对于确保网站的性能和用户体验至关重要,因为将图片本地化可以减少加载时间,...

    Java文件夹复制(远程复制(网络传输),用于远程备份文件)

    `FileSelection` 类用于选择和组织待复制的文件,而 `BackupClient` 类则负责将这些文件通过网络传输到远程服务器进行备份。 1. **文件操作**: - **文件和目录处理**:`FileSelection` 类创建了一个 `File` 对象 ...

    Java远程批量文件生成

    "Java远程批量文件生成"这个项目就是利用Java的IO(输入/输出)功能来实现在远程服务器上创建多个文件的功能。下面我们将详细探讨相关的Java知识点和技术。 1. **Java RMI (Remote Method Invocation)**: 这是Java...

    java上传文件到服务器

    这个过程涉及到客户端(通常是用户设备上的应用程序)将本地文件传输到服务器端(可能是远程服务器或云存储)。下面将详细介绍如何使用Java实现文件上传功能。 1. **HTTP协议与文件上传** 文件上传通常基于HTTP或...

    ZIP文件解压上传服务器

    以上就是使用Java处理ZIP文件并上传到服务器的基本流程和注意事项。实际应用中,可能还需要结合具体的业务需求和服务器环境进行调整。在处理这类问题时,一定要注意文件操作的安全性和稳定性,确保数据的完整性和...

    java远程调用批处理文件代码归总

    双向通信意味着两个端点都可以同时发送和接收数据,这对于Java远程调用批处理文件至关重要,因为它允许Java程序发送指令到远程服务器并接收执行结果。 为了实现这个功能,我们可以创建一个服务器端应用,监听特定的...

    JAVA代码实现远程服务器的文件操作步骤及JAR包

    在Java编程中,远程服务器的文件操作是一项常见任务,尤其在分布式系统和云计算环境中。本文将详细介绍如何使用Java实现这一功能,并提供相关的JAR包。主要涉及的技术包括Linux的SCP(Secure Copy)协议、Java的...

    java实现简单远程监控

    5. **暴露JMX连接器**:通过JMXConnectorServer暴露JMX连接器,这允许远程客户端连接到服务器并进行管理操作。 6. **编写RMI客户端**:客户端通过RMI调用服务器端的接口,获取监控信息。这可能涉及到从...

    java 监听本地文件自动上传服务器

    通过这些Java技术,你可以构建一个本地文件系统与远程服务器之间的实时同步系统,从而满足文件自动上传的需求。这只是一个基础实现,根据具体业务场景,你可能需要对代码进行适当的调整和扩展。

    java 文件上传服务器,前后台代码

    本项目"java 文件上传服务器,前后台代码"提供了一个完整的解决方案,涵盖了从客户端到服务器的数据传输过程。我们将深入探讨相关的知识点。 首先,我们需要了解Java中的MVC(Model-View-Controller)架构,这是Web...

    java上传文件到ftp服务器

    下载文件使用`FTPClient.retrieveFile()`方法,将远程文件保存到本地: ```java OutputStream outputStream = new FileOutputStream("local/path/to/save/file"); boolean downloaded = ftpClient.retrieveFile(...

    java 导出csv文件并上传sftp

    结合以上两个部分,你就可以在Java程序中实现从数据导出到CSV文件,再到SFTP服务器的完整流程。univocity-parsers和JSCH是强大的工具,能够帮助你高效、安全地处理数据传输任务。在实际项目中,你可能还需要考虑错误...

    java使用JSCH进行连接远程服务器Demo

    Java使用JSCH(Java Secure Channel)库连接远程服务器是一个常见的任务,特别是在自动化运维、文件传输或者执行远程命令等场景中。JSCH是一个纯Java实现的SSH2库,它提供了连接到支持SSH协议的服务器的能力,如...

    java远程调用kettle说明与代码.pdf

    Java远程调用Kettle说明与代码 Java远程调用Kettle是一种基于Java的ETL(Extract、Transform、Load)工具,能够对数据进行提取、转换、加载,以满足不同业务需求。Kettle提供了名为Carte的Web Server程序,也被称为...

    java 远程控制程序

    在你提到的`RemoteControl1.7`文件中,很可能包含了一个具体的Java远程控制程序示例,版本号1.7可能指的是Java SE 7。这个程序可能包括了服务器端的远程对象实现、客户端的远程对象引用获取和方法调用等关键部分。...

    JAVA Socket远程执行任务

    - **接收命令和jar包**:服务器端接收到客户端发送的命令字符串和jar包文件。jar包通常以字节流的形式传输。 - **解析和加载jar包**:服务器端需要将接收到的字节流转换回jar文件,并使用Java的ClassLoader加载这...

    Java 远程文件对接

    通过以上介绍,我们可以看到Java远程文件对接涉及的知识点非常广泛,从基础的文件操作到高级的网络编程,每一个环节都需要精心设计。在实际开发过程中,还需要根据具体的应用场景灵活调整设计方案,以满足不同需求。...

Global site tag (gtag.js) - Google Analytics