FTPClient.listFiles()不能获取文件

今天使用ftp获取另一台服务器上的文件,发现不管切换到哪个目录,获取什么文件,调用FTPClient.listFiles()方法时返回的始终为空,但是代码又运行正常没有异常抛出。

网上查了下,发现有很多人都碰到了这个问题,解决的方式也很简单,

在调用FTPClient.listFiles()方法前,先调用FTPClient.enterLocalPassiveMode();就可以了。

这个方法的意思就是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据。

为什么要这样做呢,因为ftp server可能每次开启不同的端口来传输数据,但是在linux上,由于安全限制,可能某些端口没有开启,所以就出现阻塞。

时间: 2024-11-13 21:44:30

FTPClient.listFiles()不能获取文件的相关文章

ftpClient.listFiles()无法获取ftp文件名列表

jar包commons-net-2.2.jar 引用org.apache.commons.net.ftp.* FTPFile[] fs = ftpClient.listFiles(); 获取指定目录文件名列表, 之前一直这样用,在linux上和windows上都没问题,今天不知道为什么fs长度一直是0,无法获取文件列表错误提示: org.eclipse.debug.core.DebugException: com.sun.jdi.ClassNotLoadedException: Type has

Apache的FTPClient.listFiles()返回空问题讨论解决

偶然间鄙人也碰到了Apache的FTPClient.listFiles()获取文件为空的问题. 目标服务器环境:HP小型机 client服务器环境:Linux jstmsapp2 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux(脚本在此服务器上执行) 相关jar:common-net-1.4.1.jar(common-net-3.3.jar依旧有这个问题).jakar

JavaSE 文件递归之删除&获取文件夹文件夹中全部的以.jpg的文件的绝对路径

1.递归删除文件 假设一个文件夹以下还有子文件夹,进行删除的话会 报错,这个时候要使用递归的方式来删除这个文件文件夹中的全部文件以及文件夹 package cn.itcast.digui; import java.io.File; /** * 递归删除demo目录中全部文件包含目录 * 分析: * A:封装目录 * B:获取改目录下的全部文件或者目录 * C:遍历改file数组,得到每个File对象 * D:推断该file对象是都是目录 * 是:回到B * 否:删除 * @author Admi

获取一个想要的指定文件的集合,获取文件夹下(包含子目录的所有.java的文件对象,并存储到集合中)

import java.io.File; import java.io.FileFilter; import java.io.ObjectInputStream.GetField; import java.util.ArrayList; import java.util.List; public class huoquwenjian { /*获取一个想要的指定文件的集合,获取文件夹下(包含子目录的所有.java的文件对象,并存储到集合中) * 思路: * 1,既然包含子目录,就需要递归. * 2

获取文件夹下所有文件(包括子文件)放在list<File>中

public static List<File> getAllFileList(File rootFile) { return getAllFileList(rootFile.getAbsolutePath(), null); } /** * 获取文件夹下所有文件(包括子文件) * * @param filePath * @param fileList * @return */ public static List<File> getAllFileList(String fileP

FileSizeUtil【获取文件夹或文件的大小】

版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 获取文件夹或者文件的大小,可以指定单位,也可以自动计算合适的单位值. 效果图 代码分析 常用的方法: getFolderOrFileSize(String filePath,int sizeType)[获取指定文件或指定文件夹的的指定单位的大小] getAutoFolderOrFileSize(String filePath)[自动计算指定文件或指定文件夹的大小] 使用步骤 一.项目组织结构图 注意事项: 1.导入类文件后需要chang

获取文件字符集后转换成指定编码

package com.jiaotd.file; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.i

获取文件的MD5值

package com.example.assetsdemo; import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; import java.security.MessageDigest; import java.util.HashMap; import java.util.Map; public class FileDigest { /** * 获取单个文件的MD5值! * * @pa

Android获取文件的MD5值

package my.bag; import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; import java.security.MessageDigest; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.os.Bundle; import androi