當前位置:首頁 » 文件管理 » ftp目錄遍歷

ftp目錄遍歷

發布時間: 2024-04-20 13:58:37

Ⅰ 請問一下,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();
}
}
}
}

Ⅱ 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項目的編碼記得也要一樣的。

Ⅲ C#如何實現FTP在伺服器上遍歷文件夾

.../Image這個主文件夾是一定的,然後摟住是想在這個文件夾下創建文件夾
事先,你已經知道你所要創建的文件夾的名稱,可以這么做
if (!(Directory.Exists(path+文件名))//用這個方法判斷是否有這個文件夾。比你去遍歷文件夾要效率的多
Directory.CreateDirectory(path+文件名);//不存在則創建

Ⅳ 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();

Ⅳ C++ 怎麼獲取FTP上所有的文件夾還有所有文件

通過CFtpFileFind遞歸進行查詢,如果沒有文件,會返回false,就不用進行再查找了。如果有文件或文件夾,通過getnext進行遍歷查看就行

linux下用c語言編程遍歷遠程ftp(linux系統)指定目錄下的文件

FindFile FindNextFile

熱點內容
建立雲存儲 發布:2024-05-03 21:04:03 瀏覽:74
socket編程php 發布:2024-05-03 20:12:50 瀏覽:207
坦洲郵政局可以解壓嗎 發布:2024-05-03 20:09:55 瀏覽:732
二級程序編譯答案 發布:2024-05-03 18:41:35 瀏覽:654
領動自動精英版是哪個配置 發布:2024-05-03 18:37:30 瀏覽:151
java編譯器中cd什麼意思 發布:2024-05-03 18:36:00 瀏覽:390
傳奇伺服器如何刷錢 發布:2024-05-03 18:36:00 瀏覽:978
安卓版twitter怎麼注冊 發布:2024-05-03 18:28:05 瀏覽:894
Python邏輯優先順序 發布:2024-05-03 18:26:14 瀏覽:268
linux查看svn密碼 發布:2024-05-03 18:12:47 瀏覽:805