`

FTPClient上传文件时zip文件损坏的解决方法

 
阅读更多
用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);
分享到:
评论

相关推荐

    ftpclient 文件上传、下载、删除

    FTPClient是Java中实现FTP功能的一个库,它提供了丰富的API,使得开发者能够方便地与FTP服务器进行交互,包括上传、下载和删除文件。在这个项目中,我们将会深入探讨如何使用FTPClient来完成这些操作。 首先,要...

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

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

    使用FTPClient实现ftp文件上传

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

    java FTPClient 文件上传下载文件

    ### Java FTPClient 文件上传下载知识点详解 #### 一、引言 在现代软件开发中,文件传输是一项基本而重要的功能。对于Java开发者来说,利用Java的FTPClient进行文件的上传和下载是常见的需求之一。本篇文章将围绕...

    java利用FTPClient实现上传下载文件.doc

    Java 中使用 FTPClient 实现上传下载文件 Java 中使用 FTPClient 实现上传下载文件是 Java 程序中经常需要和 FTP 打交道的重要内容。FTPClient 是 Jakarta Commons 中的一个工具类,位于 Commons Net 包中。...

    调用FtpClient类上传文件(java)

    4. 提供本地文件的输入流,并调用`storeFile()`方法上传文件。 5. 处理完成后,断开连接。 了解这些基础知识后,你就能在自己的项目中灵活地使用`FtpClient`进行文件上传操作了。记住,始终关注错误处理和资源管理...

    JAVA中使用FTPClient上传下载

    在Java中使用FTPClient进行文件上传与下载是一个常见的需求,特别是在需要远程管理文件或数据交换的场景下。本文将深入探讨如何使用Java中的FTPClient库实现这一功能,并提供详细的代码示例与解释。 ### FTPClient...

    FTPClient.zip FTPServer.zip

    它允许用户上传、下载、列出远程服务器上的文件目录,以及执行其他文件管理任务。FTPClient通常具有图形用户界面(GUI),使得操作更加直观,例如WinSCP、FileZilla和Cyberduck等。同时,也有一些命令行工具,如...

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

    `FTPClient`是Apache Commons Net包中的一个类,提供了一种简单的方式来实现FTP客户端的功能,包括文件的上传、下载、目录管理等操作。通过`FTPClient`,开发者可以轻松地与FTP服务器进行交互,执行复杂的FTP命令。 ...

    FTPUpload上传文件 进度条显示进度

    为了实现文件上传,我们需要创建一个`FTPClient`实例,连接到FTP服务器,然后调用`storeFile()`方法上传文件。 接下来,我们要关注进度条的实现。在Java Swing中,`JProgressBar`是用于展示进度的组件。我们可以...

    FTPClient 文件上传

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

    JAVA中使用FTPClient上传下载.doc

    - 下载文件的基本步骤与上传类似,但需要使用`FTPClient.retrieveFile()`方法来从FTP服务器获取文件。这个方法需要一个文件名,它会将远程文件的内容写入到本地的输出流中。 - 通常,你需要创建一个本地文件的输出...

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

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

    ftp文件传输.zip

    3. **文件操作**:使用FTPClient提供的方法执行文件操作,如upload()用于上传文件,download()用于下载文件,deleteFile()用于删除文件,rename()用于重命名文件。例如,上传一个本地文件到FTP服务器: ```java ...

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

    在Java编程中,使用FTPClient进行文件传输时,可能会遇到一个常见的问题,即当尝试创建中文目录或上传具有中文名称的文件时,这些目录名和文件名会显示为乱码,通常表现为“??”这样的形式。这个问题主要是由于FTP...

    FTPClient_src.zip_ FTPClient_src_FTPCLient_src

    FTPClient_src.zip_ FTPClient_src_FTPCLient_src是一个与FTP客户端相关的压缩包,其中包含了一个用Visual C++编程语言实现的文件传输协议程序。FTP(File Transfer Protocol)是互联网上广泛使用的协议之一,用于在...

    C# 文件上传、带进度(FTP类)

    功能描述: 建立FTP链接 支持代理 多种重载的同步上传文件 多种重载的异步上传文件 多种重载的同步下载文件 多种重载的异步下载文件 上传文件的进度百分比 下载文件的进度白分比 有区分...

    QT实现FTPServer和FTPClient.zip

    同样,也可以使用`mkdir()`和`remove()`等方法进行目录管理和文件删除操作。 在压缩包中,可能包含了源代码、示例、说明文档等资源,帮助用户理解并实现FTP功能。用户可以根据这些资料学习如何在自己的项目中集成...

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

    通过理解上述代码和相关API,开发者可以构建自己的FTP客户端,实现更复杂的文件上传、下载和管理功能。Apache Commons Net库不仅提供了FTPClient,还包括对其他网络协议的支持,是Java开发中的强大工具。

    java 连接 FTP 文件操作(上传,下载,删除,复制

    文件上传是通过`FTPClient`的`storeFile`方法实现的。首先,我们需要打开一个本地文件流,然后调用`storeFile`方法,传入远程文件路径和本地文件流。 ```java File localFile = new File("localFilePath"); ...

Global site tag (gtag.js) - Google Analytics