`
天天吃土豆
  • 浏览: 1950 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

Apache FTPClient上传文件时的问题及解决

    博客分类:
  • j2se
 
阅读更多
用Apache的FTPClient上传文件时发现一个问题,就是上传txt文件没问题,但上传zip文件时文件会被破坏,查了一下原因,原来是这样:

因为RFC 959中规定了缺省的传输模式应该是ASCII的,org.apache.commons.net.ftp.FTPClient实现也遵守此标准。所以 org.apache.commons.net.ftp.FTPClient在缺省情况下是按ASCII形式进行传输的,如果你是传输的BINARY二进制文件(如zip),那么上传完后的文件就会被破坏,但是传输ASCII文件(如txt)是没有问题的。

所以如果你是传输的BINARY二进制文件的话,就需要在建立连接、登陆后,接下来设置文件类型,代码示例如下:
ftpclient.connect(host);
ftpclient.login(user, password);
ftpclient.setFileType(FTPClient.BINARY_FILE_TYPE);

这下就OK啦!

分享到:
评论

相关推荐

    使用FTPClient实现文件的上传下载

    这篇博客“使用FTPClient实现文件的上传下载”显然关注的是如何利用编程接口FTPClient来执行FTP操作,如上传和下载文件。FTPClient是Apache Commons Net库的一部分,它为Java开发者提供了方便的API来实现FTP功能。 ...

    apache FTPClient commons-net-3.5-src.rar

    同时,对于希望优化FTPClient性能或解决特定场景问题的开发者来说,源码阅读是非常有价值的。 此外,压缩包中还有其他版本的jar文件(如`commons-net-3.1.jar`和`commons-net-1.4.1.jar`)和源码(`commons-...

    调用FtpClient类上传文件(java)

    以下是一个简单的使用`FtpClient`上传文件的Java代码示例: ```java import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import java.io.FileInputStream; import java.io....

    FTPClient 文件上传

    我用的FTPClient是由Apache组织的commons-net.jar包中的API,这个包用起来非常的方便,很容易上手。我在项目开发的过程中主要用到了文件的上传功能,希望大家能学的一些东西

    java FTPClient 文件上传下载文件

    根据给定的部分内容,我们可以看到一个名为`uploadFile`的方法示例,用于上传文件至FTP服务器: ```java public static boolean uploadFile(String url, int port, String username, String password, String path, ...

    使用FTPClient实现ftp文件上传

    FTPClient提供`storeFile()`方法来上传文件。在上传前,确保文件已经完全打开并准备就绪: ```java File localFile = new File("path/to/local/file"); OutputStream outputStream = ftpClient.storeFileStream(...

    JAVA中使用FTPClient上传下载

    下面是一个完整的使用FTPClient上传文件的示例函数: ```java public static boolean uploadFile(String url, int port, String username, String password, String path, String filename, InputStream input) { ...

    用org.apache.commons.net.ftp.FTPClient包实现简单文件下载

    在本文中,我们将深入探讨如何使用`org.apache.commons.net.ftp.FTPClient`包来实现简单的文件下载功能。这个过程涉及到几个关键步骤,包括连接到FTP服务器、登录、设置传输模式、下载文件以及断开连接。 首先,你...

    Apache的FTPClient.jar

    4. 文件传输:`FTPClient.retrieveFile(String remote, OutputStream local)`用于从服务器下载文件,`FTPClient.storeFile(String remote, InputStream local)`用于上传文件。 5. 文件管理:可以使用`FTPClient....

    apache java ftpclient

    然后使用`FTPClient.storeFile()`方法上传文件。 4. **文件下载** 下载文件的过程类似,但使用`FTPClient.retrieveFile()`方法。确保文件输出流正确设置,以便将下载的数据写入本地文件。 5. **查看远程目录** ...

    org.apache.commons.net.ftp.FTPClient FTP工具类,实现上传、下载、压缩到输出流下载等功能

    org.apache.commons.net.ftp.FTPClient FTP工具类,实现上传、下载、压缩到输出流下载等功能

    FTPClient上传下载(支持断点续传)

    ### FTPClient上传下载功能详解及断点续传技术解析 #### 一、FTPClient简介 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,主要用于在不同主机之间传输文件。`FTPClient`是Apache ...

    JAVA中使用FTPClient上传下载.doc

    代码示例展示了如何使用FTPClient上传文件。方法`uploadFile()`接收FTP服务器的相关信息(如URL、端口、用户名、密码、路径、文件名和输入流),并尝试进行文件上传。如果所有操作成功,该方法返回true;否则,返回...

    Java常用FTP文件操作说明Apache.FTPClient,ftp4j,jftp

    本文将详细讲解三种常用的FTP客户端库——Apache.FTPClient、ftp4j及jftp,并以Apache.FTPClient为例,深入探讨其使用方法。 #### 一、Apache.FTPClient简介 Apache Commons Net是Apache项目下的一个开源工具包,...

    java大文件上传至ftp服务器带进度条显示的

    在Java编程中,大文件上传至FTP(File Transfer Protocol)服务器是一项常见的任务,尤其是在处理大量数据传输时。这个场景中,我们关注的重点是如何在上传过程中显示进度条,并确保该进度条与FTP上传的速度同步,以...

    apache实现ftp上传

    我们了解了 FTPClient 类的基本使用方法,例如连接 FTP 服务器、登录 FTP 服务器、上传文件等。同时,我们还了解了 commons-io 库的应用和异常处理的重要性。在实际应用中,我们可以根据需要选择合适的库和方法来...

    获取FTP服务器上的文件大小源码

    通过FTP,用户可以连接到远程服务器,进行文件的上传、下载、查看属性等操作。本篇文章将详细讲解如何编写源码来获取FTP服务器上的文件大小,这对于监控服务器存储空间或者自动化任务是非常实用的。 首先,我们需要...

    Java中FTPClient上传中文目录、中文文件名乱码问题解决方法

    通过以上两种方式,可以有效地解决Java使用FTPClient在处理中文目录和文件名时出现的乱码问题。在实际开发中,还需要注意确保服务器和客户端的编码设置一致,以避免其他可能出现的编码问题。同时,考虑到UTF-8编码的...

    Java常用FTP文件操作说明 Apache.FTPClient,ftp4j,jftp

    以下是使用ftp4j上传文件的示例: ```java import it.sauronsoftware.ftp4j.*; FTPClient client = new FTPClient(); client.connect("ftp.server.com"); client.login("username", "password"); FTPFileUpload ...

    FTPClient.listFiles()获取文件为空的问题.

    ftpClient.changeWorkingDirectory(path); ftpClient.enterLocalPassiveMode(); //由于apache不支持中文语言环境,通过定制类解析中文日期类型 ftpClient.configure(new FTPClientConfig(...

Global site tag (gtag.js) - Google Analytics