android ftp服务的实现- sauronsoftware ftp4j
sauronsoftware ftp4j 的android 端实现ftp4j 介绍ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。ftp4j 官网:http://www.sauronsoftware.it/projects/ftp4j/The ftp4j library implements a Java full-features FTP client. With
·
sauronsoftware ftp4j 的android 端实现
ftp4j 介绍
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。
ftp4j 官网: http://www.sauronsoftware.it/projects/ftp4j/
The ftp4j library implements a Java full-features FTP client. With ftp4j embedded in your application you can: transfer files (upload and download), browse the remote FTP site (directory listing included), create, delete, rename and move remote directories and files.
Android实现demo
import android.os.Environment;
import java.io.File;
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPDataTransferListener;
public class FtpClienManager {
private FTPClient client;
private Thread mThread;
public void ftpConnet(final IConnectListener listener) {
mThread = new Thread(new Runnable() {
@Override
public void run() {
try {
client = new FTPClient();
String host = "192.168.0.101";
client.connect(host, 8088);
client.login("admin", "admin");
if(listener != null){
listener.onConnected(true);
}
} catch (Exception e) {
e.printStackTrace();
if(listener != null){
listener.onConnected(false);
}
}
}
});
mThread.start();
}
public void ftpClose() {
new Thread(new Runnable() {
@Override
public void run() {
try {
if (client != null)
client.disconnect(false);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
/***下载文件***/
public void download(final String url,FTPDataTransferListener listener) {
new Thread(new Runnable() {
@Override
public void run() {
try {
if (client != null) {
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/ftp");
if (!file.exists()) {
file.mkdirs();
}
File file1 = new File(file, "11.jpg");
client.download(url, file1, new FTPDataTransferListener() {
@Override
public void started() {
LogUtils.d("-----------------started");
}
@Override
public void transferred(int i) {
// LogUtils.d("-----------------transferred");
}
@Override
public void completed() {
LogUtils.d("-----------------completed");
}
@Override
public void aborted() {
LogUtils.d("-----------------aborted");
}
@Override
public void failed() {
LogUtils.d("-----------------failed");
}
});
} else {
LogUtils.d("-----------------client=null");
// ftpConnet();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
/***上傳文件***/
public void upload(final String pathName, final FTPDataTransferListener listener) {
new Thread(new Runnable() {
@Override
public void run() {
try {
if (client != null) {
File file = new File(pathName);
if (!file.exists()) {
file.mkdirs();
}
try {
client.createDirectory("update");
}catch (Exception e){
e.printStackTrace();
}
client.changeDirectory("update");
client.upload(file, listener);
client.changeDirectory("/");
} else {
LogUtils.e("-----------------client=null");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
public interface IConnectListener{
void onConnected(boolean isConnect);
}
}
import it.sauronsoftware.ftp4j.FTPDataTransferListener;
public class MainActivity extends AppCompatActivity {
private FtpClienManager mFtpClienManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFtpClienManager = new FtpClienManager();
mFtpClienManager.ftpConnet(new FtpClienManager.IConnectListener() {
@Override
public void onConnected(boolean isConnect) {
if (isConnect) {
upload();
}
}
});
}
private void upload() {
mFtpClienManager.upload("/mnt/sdcard/update.zip", new FTPDataTransferListener() {
@Override
public void started() {
LogUtils.e("-----------------started");
}
@Override
public void transferred(int i) {
// LogUtils.d("-----------------transferred");
}
@Override
public void completed() {
LogUtils.e("-----------------completed");
}
@Override
public void aborted() {
LogUtils.e("-----------------aborted");
}
@Override
public void failed() {
LogUtils.e("-----------------failed");
}
});
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onStop() {
super.onStop();
mFtpClienManager.ftpClose();
}
}
总结
FTP客户端的简单演示
使用时需要导入ftp4j
build.gradle
dependencies {
compile files('libs/ftp4j-1.7.2.jar')
}
更多推荐
已为社区贡献8条内容
所有评论(0)