簡單的c FTP類

2021-07-24 23:45:12 字數 4522 閱讀 5516

我在專案中已經用到了好幾次ftp,所以為了讓我的生活更美好,我把他們都集中起來在這幾個類裡面,我也希望您可以毫無困難的使用他,完整的專案**,可以看我的部落格如果有用的話,接的點讚哦。

要想使用這些類,需要在你的**中引入system.io 和system.net這兩個命名空間,然後你就可以直接用ftp類初始化乙個你要是使用的物件,可以使用精選的功能,使用後記得釋放資源哦。

/* create object instance */

ftp ftpclient = new ftp(@"", "user", "password");

/* upload a file */

ftpclient.upload("etc/test.txt", @"c:\users\metastruct\desktop\test.txt");

/* download a file */

ftpclient.download("etc/test.txt", @"c:\users\metastruct\desktop\test.txt");

/* delete a file */

ftpclient.delete("etc/test.txt");

/* rename a file */

ftpclient.rename("etc/test.txt", "test2.txt");

/* create a new directory */

ftpclient.createdirectory("etc/test");

/* get the date/time a file was created */

string filedatetime = ftpclient.getfilecreateddatetime("etc/test.txt");

console.writeline(filedatetime);

/* get the size of a file */

string filesize = ftpclient.getfilesize("etc/test.txt");

console.writeline(filesize);

/* get contents of a directory (names only) */

string ******directorylisting = ftpclient.directorylistdetailed("/etc");

for (int i = 0; i < ******directorylisting.count(); i++)

/* get contents of a directory with detailed file/directory info */

string detaildirectorylisting = ftpclient.directorylistdetailed("/etc");

for (int i = 0; i < detaildirectorylisting.count(); i++)

/* release resources */

ftpclient = null;

這是這個類以及相關的注釋.

class ftp

/* download file */

public void download(string remotefile, string localfile)

}catch (exception ex)

/* resource cleanup */

localfilestream.close();

ftpstream.close();

ftpresponse.close();

ftprequest = null;

}catch (exception ex)

return;

}/* upload file */

public void upload(string remotefile, string localfile)

}catch (exception ex)

/* resource cleanup */

localfilestream.close();

ftpstream.close();

ftprequest = null;

}catch (exception ex)

return;

}/* delete file */

public void delete(string deletefile)

catch (exception ex)

return;

}/* rename file */

public void rename(string currentfilenameandpath, string newfilename)

catch (exception ex)

return;

}/* create a new directory on the ftp server */

public void createdirectory(string newdirectory)

catch (exception ex)

return;

}/* get the date/time a file was created */

public string getfilecreateddatetime(string filename)

catch (exception ex)

/* resource cleanup */

ftpreader.close();

ftpstream.close();

ftpresponse.close();

ftprequest = null;

/* return file created date time */

return fileinfo;

}catch (exception ex)

/* return an empty string array if an exception occurs */

return "";

}/* get the size of a file */

public string getfilesize(string filename)

}catch (exception ex)

/* resource cleanup */

ftpreader.close();

ftpstream.close();

ftpresponse.close();

ftprequest = null;

/* return file size */

return fileinfo;

}catch (exception ex)

/* return an empty string array if an exception occurs */

return "";

}/* list directory contents file/folder name only */

public string directorylist******(string directory)

}catch (exception ex)

/* resource cleanup */

ftpreader.close();

ftpstream.close();

ftpresponse.close();

ftprequest = null;

try

catch (exception ex)

}catch (exception ex)

/* return an empty string array if an exception occurs */

return new string ;

}/* list directory contents in detail (name, size, created, etc.) */

public string directorylistdetailed(string directory)

}catch (exception ex)

/* resource cleanup */

ftpreader.close();

ftpstream.close();

ftpresponse.close();

ftprequest = null;

try

catch (exception ex)

}catch (exception ex)

/* return an empty string array if an exception occurs */

return new string ;

}}

對於非預設使用者名稱和密碼的需求的假設,我用到了雙重傳輸模型,因為沒有這些設定,我曾經遇到過問題。

本文包括源**和檔案在cpol下授權。

著作權宣告:本文由木木老師

C FTP上傳的實現方法 包括斷點上傳

在使用ftp上傳一般使用 ftpwebrequest建立物件 執行對應操作 如下1.直接上傳 在此需要使用req.ftp.method webrequestmethods.ftp.uploadfile 2.斷點續傳 自己實現的,不知道是否科學 但須先讀取伺服器上已存在的該檔案的大小,上傳時直接跳過該...

簡單的String類

當初為了筆試,自己準備了乙個,比較簡單,所以距離乙個比較好的string builder還是有差距的,僅供參考 不排版了阿 p include include include class string string const char pchar else string const string ...

vb類的簡單示例

如說,textbox的change事件或者click事件,會使用才能寫出有用的事件來 在你明白事件之前,你必須知道屬性和方法的用法和建立方法,本人假定你已經會了 在類中,宣告乙個事件是非常容易的 event thisevent 在類中 如上就宣告了乙個事件了,然後在需要觸發本事件的位置寫 raise...