1. 在FTP命令當中查看本地文件列表命令是
查看本地文件列表命令是:ls
其它常用的FTP命令及含義:
1、dir:顯示伺服器目錄和文件列表
2、cd:進入伺服器指定的目錄(dir命令可以使用通配符「」和「?」,比如,顯示當前目錄中所有擴展名為jpg的文件,可使用命令 dir .jpg。)
3、put:上傳指定文件put filename [newname]
4、、send:上傳指定文件send filename [newname]
(filename為上傳的本地文件名,newname為上傳至FTP伺服器上時使用的名字,如果不指定newname,文件將以原名上傳。)
(1)ftp遍歷伺服器上的文件擴展閱讀
ftp命令行格式及開關含義:
ftp [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [computer]
-v - 禁止差源雀顯示遠程伺服器相應信息
-n - 禁止自動登錄
-i - 多虛早文件傳輸過程中關閉交互提示
-d - 啟用調試,顯示所有客戶端與裂攜伺服器端傳遞的命令
-g - 禁用文件名通配符,允許在本地文件和路徑名中使用
-s:filename - 指定包含 FTP 命令的文本文件;命令在FTP啟動後自動運行。此參數中沒有空格。可替代重定向符(>)使用。
-a - 在綁字數據連接時使用所有本地介面
-w:windowsize - 覆蓋默認的傳輸緩沖區大小 65535。
computer - 指定遠程電腦計算機名或IP地址。此參數必須放到最後。
2. asp.net(c#)遍歷FTP下的文件夾、子文件夾、文件、子文件夾文件
遞歸//所有文件信息 string fileInfo = string.Empty; private void GetAllFiles() { if (folderBrowserDialog.ShowDialog() == DialogResult.OK) { DirectoryInfo dInfo = new DirectoryInfo(folderBrowserDialog.SelectedPath); //遍歷該文件夾 GetFolder(dInfo); } using (System.IO.StreamWriter sw = new StreamWriter (Environment.GetFolderPath(Environment.SpecialFolder.Desktop)+"\\fileInfo.txt",false, Encoding.GetEncoding("gb2312"))) { sw.Write(fileInfo); sw.Flush(); } } private void GetFolder(DirectoryInfo dInfo) { //顯示其中文件 GetFile(dInfo); //遍歷文件夾中的文件夾 foreach (DirectoryInfo dir in dInfo.GetDirectories()) { //遞歸遍歷該文件夾 GetFolder(dir); } } private void GetFile(DirectoryInfo dInfo) { //遍歷文件夾中的文件 foreach (FileInfo file in dInfo.GetFiles()) { if(file.Extension.Equal(".jpg")||file.Extension.Equal(".gif")||file.Extension.Equal(".bmp")) { //這里就獲取到了 fileInfo+=file.Name+"\r\n"; } Application.DoEvents(); } }
//這是一個計算指定目錄所包含文件的總大小的函數
//當然涉及了遍歷文件及文件夾
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();}
}
}
4. 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]);
}
}
以前寫的一個獲取目錄下有多少文件和多少文件夾的代碼,
可以參考下.:)
5. 跪求:C#.NET遍歷FTP伺服器裡面的文件,以及文件夾
/// <summary>
/// 獲取當前目錄下明細(包含文件和文件夾)
/// </summary>
/// <returns></returns>
public string[] GetFilesDetailList()
{
string ftpURI = "ftp://10.86.86.86";
string ftpUserID = "sa";
string ftpPassword = "sa";
string[] downloadFiles;
try
{
StringBuilder result = new StringBuilder();
FtpWebRequest ftp;
ftp = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI));
ftp.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
ftp.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
WebResponse response = ftp.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
string line = reader.ReadLine();
while (line != null)
{
result.Append(line);
result.Append("\n");
line = reader.ReadLine();
}
result.Remove(result.ToString().LastIndexOf("\n"), 1);
reader.Close();
response.Close();
return result.ToString().Split('\n');
}
catch (Exception ex)
{
downloadFiles = null;
return downloadFiles;
}
}