ftp .net getdirectory size

Posted by Xaver on Stack Overflow See other posts from Stack Overflow or by Xaver
Published on 2010-05-14T12:18:46Z Indexed on 2010/05/14 12:24 UTC
Read the original article Hit count: 383

Filed under:
|

hi i write method which must to know that is size of specified directory i get response from server which contains flags of file name size and other info and on the different ftp servers format of answer is different how to know format of answer?

unsigned long long  GetFtpDirSize(String^ ftpDir) {
unsigned long long  size = 0;
int j = 0;
StringBuilder^ result = gcnew StringBuilder();
StreamReader^ reader;
FtpWebRequest^ reqFTP;
reqFTP = (FtpWebRequest^)FtpWebRequest::Create(gcnew Uri(ftpDir));
reqFTP->UseBinary = true;
reqFTP->Credentials = gcnew NetworkCredential("anonymous", "123");
reqFTP->Method = WebRequestMethods::Ftp::ListDirectoryDetails;
reqFTP->KeepAlive = false;
reqFTP->UsePassive = false;
try {
    WebResponse^ resp = reqFTP->GetResponse();
    Encoding^ code;
    code = Encoding::GetEncoding(1251);
    reader = gcnew StreamReader(resp->GetResponseStream(), code);
    String^ line = reader->ReadToEnd();
    array<Char>^delimiters = gcnew array<Char>{
        '\r', '\n'
    };
    array<Char>^delimiters2 = gcnew array<Char>{
        ' '
    };
    array<String^>^words = line->Split(delimiters, StringSplitOptions::RemoveEmptyEntries);
    array<String^>^DetPr;
    System::Collections::IEnumerator^ myEnum = words->GetEnumerator();
    while ( myEnum->MoveNext() ) {
        String^ word = safe_cast<String^>(myEnum->Current);
        DetPr = word->Split(delimiters2);
   }
}

© Stack Overflow or respective owner

Related posts about ftp

Related posts about visual-c++