我无法将文件从ftp服务器下载到我的Android设备。以下是我的代码。我使用通用的net 3.3参考库来访问ftp服务器。应用程序运行没有任何错误,但没有下载文件。
package com.anis.ftpdownload;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.commons.net.ftp.FTPClient;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("main");
downloadFile();
}
private void downloadFile() {
System.out.println("download file reached");
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect("islingtonproject.comxa.com", 21);
ftpClient.login("usr","pass");
ftpClient.enterLocalPassiveMode();
System.out.println("ftpclient connected");
String remoteFile1 = "/csv/s.csv";
File downloadFile1 = new File("/sdcard/s.csv");
OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));
boolean success = ftpClient.retrieveFile(remoteFile1, outputStream1);
outputStream1.close();
System.out.println("downloading");
if (!success) {
System.out.println("File #1 download failed.");
}
ftpClient.logout();
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}