SoFunction
Updated on 2025-03-07

C# operation ftp class sharing


class ftp
{
    private string host = null;
    private string user = null;
    private string pass = null;
    private FtpWebRequest ftpRequest = null;
    private FtpWebResponse ftpResponse = null;
    private Stream ftpStream = null;
    private int bufferSize = 2048;

    public ftp(string hostIP, string userName, string password) { host = hostIP; user = userName; pass = password; }

    public void download(string remoteFile, string localFile)
    {
        try
        {
            ftpRequest = (FtpWebRequest)(host + "/" + remoteFile);
            = new NetworkCredential(user, pass);
            = true;
            = true;
            = true;
            = ;
            ftpResponse = (FtpWebResponse)();
            ftpStream = ();
            FileStream localFileStream = new FileStream(localFile, );
            byte[] byteBuffer = new byte[bufferSize];
            int bytesRead = (byteBuffer, 0, bufferSize);
            try
            {
                while (bytesRead > 0)
                {
                    (byteBuffer, 0, bytesRead);
                    bytesRead = (byteBuffer, 0, bufferSize);
                }
            }
            catch (Exception ex) { (()); }
            ();
            ();
            ();
            ftpRequest = null;
        }
        catch (Exception ex) { (()); }
        return;
    }

    public void upload(string remoteFile, string localFile)
    {
        try
        {
            ftpRequest = (FtpWebRequest)(host + "/" + remoteFile);
            = new NetworkCredential(user, pass);
            = true;
            = true;
            = true;
            = ;
            ftpStream = ();
            FileStream localFileStream = new FileStream(localFile, );
            byte[] byteBuffer = new byte[bufferSize];
            int bytesSent = (byteBuffer, 0, bufferSize);
            try
            {
                while (bytesSent != 0)
                {
                    (byteBuffer, 0, bytesSent);
                    bytesSent = (byteBuffer, 0, bufferSize);
                }
            }
            catch (Exception ex) { (()); }
            ();
            ();
            ftpRequest = null;
        }
        catch (Exception ex) { (()); }
        return;
    }

    public void delete(string deleteFile)
    {
        try
        {
            ftpRequest = (FtpWebRequest)(host + "/" + deleteFile);
            = new NetworkCredential(user, pass);
            = true;
            = true;
            = true;
            = ;
            ftpResponse = (FtpWebResponse)();
            ();
            ftpRequest = null;
        }
        catch (Exception ex) { (()); }
        return;
    }

    public void rename(string currentFileNameAndPath, string newFileName)
    {
        try
        {
            ftpRequest = (FtpWebRequest)(host + "/" + currentFileNameAndPath);
            = new NetworkCredential(user, pass);
            = true;
            = true;
            = true;
            = ;
            = newFileName;
            ftpResponse = (FtpWebResponse)();
            ();
            ftpRequest = null;
        }
        catch (Exception ex) { (()); }
        return;
    }

    public void createDirectory(string newDirectory)
    {
        try
        {
            ftpRequest = (FtpWebRequest)(host + "/" + newDirectory);
            = new NetworkCredential(user, pass);
            = true;
            = true;
            = true;
            = ;
            ftpResponse = (FtpWebResponse)();
            ();
            ftpRequest = null;
        }
        catch (Exception ex) { (()); }
        return;
    }

    public string getFileCreatedDateTime(string fileName)
    {
        try
        {
            ftpRequest = (FtpWebRequest)(host + "/" + fileName);
            = new NetworkCredential(user, pass);
            = true;
            = true;
            = true;
            = ;
            ftpResponse = (FtpWebResponse)();
            ftpStream = ();
            StreamReader ftpReader = new StreamReader(ftpStream);
            string fileInfo = null;
            try { fileInfo = (); }
            catch (Exception ex) { (()); }
            ();
            ();
            ();
            ftpRequest = null;
            return fileInfo;
        }
        catch (Exception ex) { (()); }
        return "";
    }

    public string getFileSize(string fileName)
    {
        try
        {
            ftpRequest = (FtpWebRequest)(host + "/" + fileName);
            = new NetworkCredential(user, pass);
            = true;
            = true;
            = true;
            = ;
            ftpResponse = (FtpWebResponse)();
            ftpStream = ();
            StreamReader ftpReader = new StreamReader(ftpStream);
            string fileInfo = null;
            try { while (() != -1) { fileInfo = (); } }
            catch (Exception ex) { (()); }
            ();
            ();
            ();
            ftpRequest = null;
            return fileInfo;
        }
        catch (Exception ex) { (()); }
        return "";
    }

    public string[] directoryListSimple(string directory)
    {
        try
        {
            ftpRequest = (FtpWebRequest)(host + "/" + directory);
            = new NetworkCredential(user, pass);
            = true;
            = true;
            = true;
            = ;
            ftpResponse = (FtpWebResponse)();
            ftpStream = ();
            StreamReader ftpReader = new StreamReader(ftpStream);
            string directoryRaw = null;
            try { while (() != -1) { directoryRaw += () + "|"; } }
            catch (Exception ex) { (()); }
            ();
            ();
            ();
            ftpRequest = null;
            try { string[] directoryList = ("|".ToCharArray()); return directoryList; }
            catch (Exception ex) { (()); }
        }
        catch (Exception ex) { (()); }
        return new string[] { "" };
    }

    public string[] directoryListDetailed(string directory)
    {
        try
        {
            ftpRequest = (FtpWebRequest)(host + "/" + directory);
            = new NetworkCredential(user, pass);
            = true;
            = true;
            = true;
            = ;
            ftpResponse = (FtpWebResponse)();
            ftpStream = ();
            StreamReader ftpReader = new StreamReader(ftpStream);
            string directoryRaw = null;
            try { while (() != -1) { directoryRaw += () + "|"; } }
            catch (Exception ex) { (()); }
            ();
            ();
            ();
            ftpRequest = null;
            try { string[] directoryList = ("|".ToCharArray()); return directoryList; }
            catch (Exception ex) { (()); }
        }
        catch (Exception ex) { (()); }
        return new string[] { "" };
    }
}