文件未从ftp服务器下载(android)
我无法将文件从ftp服务器下载到我的android设备。下面是我的代码。我正在使用common net 3.3参考库访问ftp服务器。应用程序运行时没有任何错误,但不会下载文件文件未从ftp服务器下载(android),android,ftp,download,Android,Ftp,Download,我无法将文件从ftp服务器下载到我的android设备。下面是我的代码。我正在使用common 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
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;
}
}您当然会有错误。首先,您将有一个NetworkOnMainThreadException。网络代码应该放在线程或异步任务中。进一步的remoteFile1应仅为文件名。不是子目录和文件名。请先将当前工作目录更改为csv。您能帮我修改代码吗。我是初学者。所以我不明白你只需点击ftp按钮就可以看到有关ftp的问题。读了很多,很快你就会发现如何编写我的建议。在发布这个问题之前,我对android上的ftp客户端进行了大量研究,但没有一个使用了asynctask类。或者用一根线。但他们并没有为此发布代码,因为这与他们的问题无关。您有NetworkOnMainThread异常。看看航海日志。