FTP protocol is standard network protocol for transferring file. It works on peer to peer base network. In recent days I had written few articles about file transfer protocol and comparison among them to choose best. After research, research shows that FTP outperformed everything in android. So I decide to write about FTP client implementation. This tutorial will teach you
Basic requirement for this tutorial is one simple FTP server setup at your desktop. You can use file-Zilla or IIS server for this requirement.
For browsing through directory see this Browsing Nested Directory
- Android FTP client Authentication - How to connect with FTP server?
- Android FTP client Download - How to download a file from FTP server?
- Android FTP client Upload -How to upload a file to FTP server?
Basic requirement for this tutorial is one simple FTP server setup at your desktop. You can use file-Zilla or IIS server for this requirement.
- Android FTP client authentication and listing file from FTP server
/**
*
* @param ip
* @param userName
* @param pass
*/
public void connnectingwithFTP(String ip, String userName, String pass) {
boolean status = false;
try {
FTPClient mFtpClient = new FTPClient();
mFtpClient.setConnectTimeout(10 * 1000);
mFtpClient.connect(InetAddress.getByName(ip));
status = mFtpClient.login(userName, pass);
Log.e("isFTPConnected", String.valueOf(status));
if (FTPReply.isPositiveCompletion(mFtpClient.getReplyCode())) {
mFtpClient.setFileType(FTP.ASCII_FILE_TYPE);
mFtpClient.enterLocalPassiveMode();
FTPFile[] mFileArray = mFtpClient.listFiles();
Log.e("Size", String.valueOf(mFileArray.length));
}
} catch (SocketException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
- Android FTP client download a file from FTP server – you can browse through directory saved on FTP server and can download desired file or directory. I just write code here for downloading a single file and writing it to sdcard/phone memory.
/**
* @param ftpClient FTPclient object
* @param remoteFilePath FTP server file path
* @param downloadFile local file path where you want to save after download
* @return status of downloaded file
*/
public boolean downloadSingleFile(FTPClient ftpClient,
String remoteFilePath, File downloadFile) {
File parentDir = downloadFile.getParentFile();
if (!parentDir.exists())
parentDir.mkdir();
OutputStream outputStream = null;
try {
outputStream = new BufferedOutputStream(new FileOutputStream(
downloadFile));
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
return ftpClient.retrieveFile(remoteFilePath, outputStream);
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (outputStream != null) {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return false;
}
For browsing through directory see this Browsing Nested Directory
- Android FTP client uploading a file to FTP server – You can upload a file to server with object of FTPClient at desired path which you need to define.
/**
*
* @param ftpClient FTPclient object
* @param downloadFile local file which need to be uploaded.
*/
public void uploadFile(FTPClient ftpClient, File downloadFile,String serverfilePath) {
try {
FileInputStream srcFileStream = new FileInputStream(downloadFile);
boolean status = ftpClient.storeFile("remote ftp path",
srcFileStream);
Log.e("Status", String.valueOf(status));
srcFileStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
No comments:
Post a Comment
Feedback always help in improvement. If you have any query suggestion feel free to comment and Keep visiting my blog to encourage me to blogging