导航:首页 > 编程语言 > javaftp遍历

javaftp遍历

发布时间:2022-05-29 17:27:42

java ftp遍历文件问题

我怀疑 ftp 根目录你没有权限


你尝试着 调用 带参的listFiles方法

FTPFile[]ftpFiles=ftpClient.listFiles(remotePath);

㈡ 如何遍历列出ftp下目录及子目录

import java.io.File;

public class ListFile {

private long[] count = new long[] { 0, 0 };

private File file;

private long[] listFile(String path) {
file = new File(path);
File[] f = file.listFiles();
for (int i = 0; i < f.length; i++) {
if (f[i].isDirectory()) {
count[0]++;
this.listFile(f[i].getPath());
} else {
count[1]++;
}
}
return count;
}

/**
* 得到指定路径下的文件和文件夹数量
*
* @param path
* 要查看的路径
* @return object[0]耗时(毫秒)<br>
* object[1]文件夹数量<br>
* object[2]文件数量
*/
public Object[] getFileCount(String path) {
long t = System.currentTimeMillis();
long[] count = this.listFile(path);
t = System.currentTimeMillis() - t;
Object[] o = new Object[] { Long.valueOf(t), Long.valueOf(count[0]),
Long.valueOf(count[1])};
return o;
}

public static void main(String[] args) {
ListFile l = new ListFile();
Object[] count = l.getFileCount("d:\\");
System.out.println(count[0]);
System.out.println(count[1]);
System.out.println(count[2]);
}
}

java写的一个获取目录下有多少文件和多少文件夹的代码,
可以参考下.:)

㈢ java ftp协议遍历下载服务器上指定文件夹下mp4格式的文件

不需要装软件,下载需要执行sftp服务器目录和本地目录你说的directory空指针,应该是你没有指定从sftp的哪个目录下载

㈣ 请问一下,java中有没直接判断ftp上文件夹下是否存在某文件的方法通过遍历文件夹的方式判断太耗内存了

第一个种方法 :
org.apache.commons.net.ftp.* 看这个目录下是否有你要的方法
第二种方法:

package com.soft4j.log4j;

import java.io.IOException;

import sun.net.ftp.FtpClient;

public class FtpTest
{
static String middle_ftpServer = "10.103.2.250";
static String middle_user = "ora9iftp";
static String middle_password = "ftp";
static String middle_dir = "/image/NWKPHOTO/Middle/2009/3";

public static void main(String[] args)
{
FtpClient ftpClient = new FtpClient();
try
{
ftpClient.openServer(middle_ftpServer);
ftpClient.login(middle_user, middle_password);
FtpTest ft = new FtpTest();
ft.isDirExist(ftpClient, middle_dir);
} catch (IOException e)
{
e.printStackTrace();
}

}

/** 判断Ftp目录是否存在,如果不存在则创建目录 */
public void isDirExist(FtpClient ftpClient, String dir)
{
try
{
ftpClient.cd(dir); //想不到什么好办法来判断目录是否存在,只能用异常了(比较笨).请知道的告诉我一声`
} catch (IOException e1)
{
ftpClient.sendServer("MKD " + dir + "\r\n");
try
{
ftpClient.readServerResponse();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
}

㈤ java 用common-net 2.0包FTPClient中的listFiles()方法去遍历ftp文件结构时有时候会执行到listFile卡住

试试common-net 2.0包FTPClient中的 void setDataTimeout(int timeout) 和void setSoTimeout(int timeout);两个方法试试

㈥ java写的ftp程序~~怎么遍历文件

//这是一个计算指定目录所包含文件的总大小的函数
//当然涉及了遍历文件及文件夹
void getLength(File file)
{
if(file.isDirectory())
{
File fileArray[]=file.listFiles();
for(int i=0;i<fileArray.length;i++){
getLength(fileArray[i]); //System.out.println(fileArray[i].getPath());
}
}
else if(file.isFile()){
try
{
RandomAccessFile raf=new RandomAccessFile(file,"r");
fileLength=fileLength+raf.length();
raf.close();
}catch(IOException ioe){ioe.printStackTrace();}
}
}

㈦ java遍历ftp文件夹时,在FTPFile ff[] = ftpClient.listFiles()处一直提示空指针异常错误,是怎么回事。

boolean success = false; 
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);
//如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(username, password);//登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(remotePath);//转移到FTP服务器目录
FTPFile[] fs = ftp.listFiles();

㈧ ftp遍历目录的问题

你这个ftp是用的都是同一个对象,每次递归workfolder都被update掉了。。。。当然会不继续遍历,改成每次都Generate一个New的ftp吧。
补充:
本来你ftp指向目录A,后来进入递归被改成指向A/B了,你说遍历还能准确吗?
还有个方法就是每次递归回来调用:
ftp.changeWorkingDirectory(ftpPath);
把Path给设置回来。不过不确定这个方法稳定,可以先Try一下。
public void listFilesDir(String path) throws IOException{
String ftpPath = path;
ftp.changeWorkingDirectory(ftpPath);
FTPFile[] files = ftp.listFiles();
for(FTPFile ff:files){
if(!ff.isDirectory()){
System.out.println("文件:" + ff.getName());
}
else{
if(!ff.getName().startsWith(".")){
ftpPath = ff.getName() + "/";
System.out.println("目录 " + ff.getName() + " 下的文件文件或目录:");
ftp.changeWorkingDirectory(ftpPath);
listFilesDir(ftpPath);
ftp.changeWorkingDirectory(path);
}
}
}
}
再补充:
中文的话试试看用GBK。。。Java项目的编码记得也要一样的。

㈨ 怎么遍历ftp服务器里面某个文件夹下的文件

packagecom.hmilyld.exp;importjava.io.File;publicclassListFile{privatelong[]count=newlong[]{0,0};privateFilefile;privatelong[]listFile(Stringpath){file=newFile(path);File[]f=file.listFiles();for(inti=0;i

㈩ java 怎么遍历ftp目录下的所有目录以及目录下的文件名称,取出文件的相对路径

package com.hmilyld.exp;

import java.io.File;

public class ListFile {

private long[] count = new long[] { 0, 0 };

private File file;

private long[] listFile(String path) {
file = new File(path);
File[] f = file.listFiles();
for (int i = 0; i < f.length; i++) {
if (f[i].isDirectory()) {
count[0]++;
this.listFile(f[i].getPath());
} else {
count[1]++;
}
}
return count;
}

/**
* 得到指定路径下的文件和文件夹数量
*
* @param path
* 要查看的路径
* @return object[0]耗时(毫秒)<br>
* object[1]文件夹数量<br>
* object[2]文件数量
*/
public Object[] getFileCount(String path) {
long t = System.currentTimeMillis();
long[] count = this.listFile(path);
t = System.currentTimeMillis() - t;
Object[] o = new Object[] { Long.valueOf(t), Long.valueOf(count[0]),
Long.valueOf(count[1])};
return o;
}

public static void main(String[] args) {
ListFile l = new ListFile();
Object[] count = l.getFileCount("d:\\");
System.out.println(count[0]);
System.out.println(count[1]);
System.out.println(count[2]);
}
}

以前写的一个获取目录下有多少文件和多少文件夹的代码,
可以参考下.:)

阅读全文

与javaftp遍历相关的资料

热点内容
小熊编程教程 浏览:908
word转换成pdf转换器免费下载 浏览:608
群体智能基本算法 浏览:370
可编程软件分为哪两种 浏览:340
格林什么app可以看 浏览:697
飞卢app仙侠热卖推荐怎么样 浏览:722
飞秋上传文件到共享文件夹 浏览:691
服务器的共享文件夹如何访问 浏览:232
复盛螺杆压缩机讲解 浏览:332
柱在基础插筋需要加密吗 浏览:80
51单片机中断寄存器 浏览:65
压缩文件后有病毒怎么办 浏览:618
苹果ipad怎么登安卓王者账号 浏览:862
街头足球服务器已满是什么意思 浏览:462
androidspeex回音消除 浏览:133
加密会议什么意思 浏览:34
ubuntu命令行联网 浏览:7
37选7中奖概率及算法 浏览:593
加密狗哪个版本好 浏览:619
cisco命令手册 浏览:502