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[] { "" };
}
}