`
xpp02
  • 浏览: 1046602 次
社区版块
存档分类
最新评论

解决了一个 java7 发送 ftp 文件失败的问题

    博客分类:
  • java
阅读更多

 

近日写程序,使用 apache common net 里的 FTPClient,往 FTP 服务器上,上传文件,以至失败。纠结了两三天,不能解决。

 

后上网 google 搜索,发现以下网址提到着这件事情:

 

Java 7 prevents FTP transfers on Windows Vista and 7 if firewall is on. Any ideas?

http://stackoverflow.com/questions/6990663/java-7-prevents-ftp-transfers-on-windows-vista-and-7-if-firewall-is-on-any-idea

 

里面提到,这是 java 的一个 bug(Submit Date,  11-AUG-2011 ):

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696

但是 Sun 公司标注这是一个低级别的 bug。

具体原因是:在安装有 IPv6 和 IPv4 的计算机上,会使用一种 IPv6 模拟的 IPv4(The only difference between JDK7 and older releases is that the JDK is using IPv6 sockets when IPv6 is enabled and so IPv4-mapped IPv6 addresses are used),而 windows 防火墙会把这种模拟的 IPv4 数据挡住。

 

我很奇怪,它只挡住了 FTP 命令 PASV, 对于FTP 登录操作什么的,没有挡住。

最后,Sun 公司给出解决方法:加一个 JVM 启动参数:

run with -Djava.net.preferIPv4Stack=true (which disables IPv6 and uses AF_INET sockets exclusively)

 

更多信息请查看 java进阶网 http://www.javady.com/index.php/category/thread

4
3
分享到:
评论

相关推荐

    java下载ftp文件.txt

    ### Java下载FTP文件 在实际应用开发中,经常需要与FTP服务器进行交互,比如上传文件、下载文件等操作。Java提供了一套强大的工具和API来实现这些功能。下面我们将通过一个具体的示例来了解如何用Java实现从FTP...

    java实现文件上传到ftp

    下面是一个简单的FTP文件上传的步骤: 1. **创建FTPClient对象**:`FTPClient ftp = new FTPClient();` 2. **连接到FTP服务器**:`ftp.connect(server, port);` 需要指定服务器的IP地址(server)和端口号(port...

    java实现简单的ftp文件下载

    Java 实现简单的FTP文件下载是入门级编程者学习网络编程时常常接触的一个实践项目。FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,它允许用户从远程服务器上下载或上传文件。在这个项目...

    Java实现ftp文件传输

    本篇文章将深入探讨如何使用Java实现FTP文件传输,包括客户端和服务端的构建。 首先,我们需要理解FTP的基本工作原理。FTP基于TCP/IP协议,通过建立两个独立的连接来完成文件传输:控制连接用于发送命令和接收响应...

    java删除ftp文件.txt

    ### Java删除FTP文件知识点 #### 一、概述 在企业级应用开发中,FTP(File Transfer Protocol)协议常被用于文件传输与管理。利用Java语言编写FTP客户端程序,可以实现文件上传、下载、删除等操作。本文将详细介绍...

    java上传文件到ftp服务器

    在Java编程环境中,将文件上传至FTP(File Transfer Protocol)服务器是一项常见的任务,特别是在Web应用程序...了解上述基本步骤后,你就能构建一个功能完备的Java FTP客户端,用于上传和下载文件,以及进行日常管理。

    javaftp.rar_JAVAFTP_ftp_ftp源码_java_java ftp

    2. **FTP命令**:通过`java.net.Socket`发送FTP命令,如`USER`、`PASS`用于登录,`CWD`改变当前工作目录,`LIST`获取目录列表,`STOR`上传文件,`RETR`下载文件等。 3. **FTP会话管理**:在FTP会话中,你需要管理...

    java FTP客户端程序

    在这个“java FTP客户端程序”中,我们可以深入探讨如何使用Java来编写一个FTP客户端,以及涉及到的相关知识点。 首先,我们需要了解Java中的`java.net`和`java.io`这两个核心库,它们是实现FTP客户端的基础。`java...

    java搭建ftp服务器

    6. 构建 FTP 服务器:一个简单的 Java FTP 服务器通常包括以下组件: - `FtpServer` 类:负责初始化 `ServerSocket` 并监听客户端连接。它可以设置 FTP 服务器的根目录,监听的端口号通常是 21。 - `FtpConnection...

    ftp.rar_ftp_ftp java_java ftp_java简单的FTP

    主动模式中,客户端指定一个端口等待服务器连接,而被动模式则是服务器开启一个新的端口并告知客户端连接,以避免防火墙问题。 在Java中,Apache Commons Net库是常用的FTP客户端实现。首先,你需要将该库引入到...

    java ftp 上传下载,代码。

    本文将详细介绍如何使用Java实现FTP的上传和下载功能,并结合提供的资源——"WinFtp Server2.0.1特别汉化版",为你提供一个实践环境。 首先,Java中实现FTP功能主要依赖于`java.net`和`java.io`这两个核心库,但...

    ftp上传功能java完整代码包

    总之,这个“ftp上传功能java完整代码包”提供了一个完整的解决方案,可以帮助开发者快速地在Java应用中实现FTP文件上传功能。无论是学习FTP协议、Java网络编程,还是实际开发中需要此功能,这个代码包都具有很高的...

    java编写的ftpclient,用于向ftp发送、获取文件

    Java编写的FTPClient是用于与...总之,Java中的FTPClient提供了丰富的功能,可以满足大多数FTP文件传输需求。开发时,注意选择合适的传输模式,正确处理错误,以及在操作完成后释放资源,以确保程序的稳定性和安全性。

    ftp.rar_ftp_ftp java_java ftp

    控制连接用于发送FTP命令和接收响应,而数据连接则用于实际的数据传输。 在Java中,我们可以使用`java.net.Socket`和`java.net.ServerSocket`类来创建和管理这两个连接。然而,这需要对FTP协议有深入的理解,因此更...

    FTP文件传输协议 计算机网络课设

    7. **异常处理**:在开发FTP客户端时,必须考虑网络错误、认证失败和其他可能出现的问题,并妥善处理这些异常。 8. **多线程编程**:为了提高性能,客户端可能需要并发处理多个文件的上传或下载。这时,可以使用...

    java实现FTP客户端

    Java 实现FTP客户端是网络编程中的一个重要话题,FTP(File Transfer Protocol)协议是用于在网络上进行文件传输的标准协议。本文将详细介绍如何使用Java语言来构建一个基本的FTP客户端,实现文件的下载和上传功能。...

    javaFTPclient.rar_Ftp客户端__ftp_ftp客户端_ftp客户端 java_java ftp客户端

    2. **FTP命令**:Java FTP客户端通过发送FTP命令来执行不同的操作,如`USER`和`PASS`用于认证,`CWD`改变工作目录,`LIST`获取目录内容,`GET`和`PUT`用于文件传输,`DELE`和`RMD`用于删除文件和目录。 3. **主动...

    Domino_java代理实现FTP上传下载

    FTP 上传是指将本地计算机上的文件发送到远程 FTP 服务器的过程。在 Java 中,我们可以通过 `FTPClient` 类提供的方法来实现这一功能。 ##### 代码实现 ```java public static String uploadFile(Sessions session...

    ftp客户端源码 java实现

    FTP操作可能会遇到各种问题,如连接失败、认证错误、文件不存在等。因此,良好的异常处理机制是必不可少的,确保程序的健壮性。 6. **文件I/O操作**: 在上传和下载文件时,需要使用Java的`java.io`包,如`...

Global site tag (gtag.js) - Google Analytics