public void List(String pathName) throws IOException{
String directory = pathName;
//更换目录到当前目录
ftp.changeWorkingDirectory(directory);
FTPFile[] files = ftp.listFiles();
System.out.println(directory);
for(FTPFile file:files){
System.out.println(11);/////////这个11总是输出不了
if(file.isFile()){
arFiles.add(file.getName());
}
}
}
////arFiles中一直是空值
19 个解决方案
#1
代码中的代码ftp指的是什么?
是ftp的根目录还是一个ftp对象?
如果是ftp对象的话获取不到的话就很正常了。。
是ftp的根目录还是一个ftp对象?
如果是ftp对象的话获取不到的话就很正常了。。
#2
public FTPClient ftp;是对象
#3
那应该怎么处理这个问题。
#4
ftp.changeWorkingDirectory(directory);
我觉得这个方法是不是就把ftp的根目录确定了,然后使用FTPFile[] files = ftp.listFiles();获取目录下的文件,不是这么一回事情吗?
我觉得这个方法是不是就把ftp的根目录确定了,然后使用FTPFile[] files = ftp.listFiles();获取目录下的文件,不是这么一回事情吗?
#5
ftp是什么对象?
#6
ftp是根目录,ftp.changeWorkingDirectory(directory);这个就是确定根目录的。
#7
我这是查询D:\\下的所有文件 不知道能不能帮到你!
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建File对象
File file = new File("d:\\");
// 使用递归方法做
dg(file);
}
private static void dg(File fl) {
// TODO Auto-generated method stub
// 创建file数组用来存储数据
File[] filArr = fl.listFiles();
// 判断FiLe数组不能为空
if (filArr != null) {
// 使用for遍历
for (File f : filArr) {
// 如果是文件夹 就递归
if (f.isDirectory()) {
// 递归
dg(f);
} else if (f.isFile()) {
System.out.println(f.getAbsolutePath());
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建File对象
File file = new File("d:\\");
// 使用递归方法做
dg(file);
}
private static void dg(File fl) {
// TODO Auto-generated method stub
// 创建file数组用来存储数据
File[] filArr = fl.listFiles();
// 判断FiLe数组不能为空
if (filArr != null) {
// 使用for遍历
for (File f : filArr) {
// 如果是文件夹 就递归
if (f.isDirectory()) {
// 递归
dg(f);
} else if (f.isFile()) {
System.out.println(f.getAbsolutePath());
}
}
}
}
#8
public FTPClient ftp;是对象的话你找找方法,应该有一个ftp对象获取主目录的方法。
FTPFile[] files = ftp.listFiles();
这里的这个ftp我感觉应该代指的是主目录才对。
#9
你先看看登陆的用户有没有权限访问目录中的文件,如果只是为了获取目录下的文件名可以这样:
ftp.listNames();遍历查询;
当然你如果要用ftp.listFiles();就要截取字符串了,每一行文件名前面的长度是固定的:
-rw-rw-rw- 1 ftp ftp 52068 Aug 21 2012 web.xml
ftp.listNames();遍历查询;
当然你如果要用ftp.listFiles();就要截取字符串了,每一行文件名前面的长度是固定的:
-rw-rw-rw- 1 ftp ftp 52068 Aug 21 2012 web.xml
#10
程序没有问题,是自己的jdk的问题,不能使用eclipse自带的jre。要使用外部JDK。已经解决。
#11
我也遇到你这样的问题,改了JDK版本也没有解决,请帮忙指导一下呗
#12
确实,前面几楼都一直没有看清你的原帖,而在那里瞎出主意
#13
#14
我也是同样的问题,设置了路径之后,不管是文件名还是文件列表都获取不到,楼主有什么好的解决方法么?
#15
我也遇到了,谢谢楼主
#16
我的不是jre 造成的,也遇到相同的问题,楼主怎么破?
#17
卡两天了,还没出来
#18
是在什么系统环境下的?
#19
//linux
ftpClient.enterRemotePassiveMode();
//windows
ftpClient.enterLocalPassiveMode();
我是因为这个模式设置才出现这种情况的
ftpClient.enterRemotePassiveMode();
//windows
ftpClient.enterLocalPassiveMode();
我是因为这个模式设置才出现这种情况的
#20
#1
代码中的代码ftp指的是什么?
是ftp的根目录还是一个ftp对象?
如果是ftp对象的话获取不到的话就很正常了。。
是ftp的根目录还是一个ftp对象?
如果是ftp对象的话获取不到的话就很正常了。。
#2
public FTPClient ftp;是对象
#3
那应该怎么处理这个问题。
#4
ftp.changeWorkingDirectory(directory);
我觉得这个方法是不是就把ftp的根目录确定了,然后使用FTPFile[] files = ftp.listFiles();获取目录下的文件,不是这么一回事情吗?
我觉得这个方法是不是就把ftp的根目录确定了,然后使用FTPFile[] files = ftp.listFiles();获取目录下的文件,不是这么一回事情吗?
#5
ftp是什么对象?
#6
ftp是根目录,ftp.changeWorkingDirectory(directory);这个就是确定根目录的。
#7
我这是查询D:\\下的所有文件 不知道能不能帮到你!
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建File对象
File file = new File("d:\\");
// 使用递归方法做
dg(file);
}
private static void dg(File fl) {
// TODO Auto-generated method stub
// 创建file数组用来存储数据
File[] filArr = fl.listFiles();
// 判断FiLe数组不能为空
if (filArr != null) {
// 使用for遍历
for (File f : filArr) {
// 如果是文件夹 就递归
if (f.isDirectory()) {
// 递归
dg(f);
} else if (f.isFile()) {
System.out.println(f.getAbsolutePath());
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建File对象
File file = new File("d:\\");
// 使用递归方法做
dg(file);
}
private static void dg(File fl) {
// TODO Auto-generated method stub
// 创建file数组用来存储数据
File[] filArr = fl.listFiles();
// 判断FiLe数组不能为空
if (filArr != null) {
// 使用for遍历
for (File f : filArr) {
// 如果是文件夹 就递归
if (f.isDirectory()) {
// 递归
dg(f);
} else if (f.isFile()) {
System.out.println(f.getAbsolutePath());
}
}
}
}
#8
public FTPClient ftp;是对象的话你找找方法,应该有一个ftp对象获取主目录的方法。
FTPFile[] files = ftp.listFiles();
这里的这个ftp我感觉应该代指的是主目录才对。
#9
你先看看登陆的用户有没有权限访问目录中的文件,如果只是为了获取目录下的文件名可以这样:
ftp.listNames();遍历查询;
当然你如果要用ftp.listFiles();就要截取字符串了,每一行文件名前面的长度是固定的:
-rw-rw-rw- 1 ftp ftp 52068 Aug 21 2012 web.xml
ftp.listNames();遍历查询;
当然你如果要用ftp.listFiles();就要截取字符串了,每一行文件名前面的长度是固定的:
-rw-rw-rw- 1 ftp ftp 52068 Aug 21 2012 web.xml
#10
程序没有问题,是自己的jdk的问题,不能使用eclipse自带的jre。要使用外部JDK。已经解决。
#11
我也遇到你这样的问题,改了JDK版本也没有解决,请帮忙指导一下呗
#12
确实,前面几楼都一直没有看清你的原帖,而在那里瞎出主意
#13
#14
我也是同样的问题,设置了路径之后,不管是文件名还是文件列表都获取不到,楼主有什么好的解决方法么?
#15
我也遇到了,谢谢楼主
#16
我的不是jre 造成的,也遇到相同的问题,楼主怎么破?
#17
卡两天了,还没出来
#18
是在什么系统环境下的?
#19
//linux
ftpClient.enterRemotePassiveMode();
//windows
ftpClient.enterLocalPassiveMode();
我是因为这个模式设置才出现这种情况的
ftpClient.enterRemotePassiveMode();
//windows
ftpClient.enterLocalPassiveMode();
我是因为这个模式设置才出现这种情况的