【问题标题】:Cannot connect to FTP on Gingerbread无法连接到 Gingerbread 上的 FTP
【发布时间】:2011-06-06 13:33:18
【问题描述】:

我最近注意到,当尝试在 Gingerbread 仿真上运行我的应用程序时,FTP 中断了。我目前正在使用 apache commons 外部库来支持 FTP,但由于某种原因,它适用于除 2.3 (Gingerbread) 之外的所有其他 Android 操作系统

这是我的 FTP 代码

FTPClient ftp = new FTPClient();
ftp.connect(SERVER);
ftp.login("anonymous", "anonymous");
ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.enterLocalPassiveMode();

InputStream is = ftp.retrieveFileStream("file.txt");
byte[] data = new byte[1024];

fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
int x = 0;
while((x=is.read(data,0,1024))>=0){
    fos.write(data,0,x);
}
fos.flush();
fos.close();
ftp.logout();
ftp.disconnect();

正如我所说,这是经过测试的,适用于 1.6、2.1 和 2.2,但不适用于 2.3。我已经尝试了一整天来弄清楚为什么以及如何解决它,但我找不到任何解决方案。

因此,我想知道是否有人对 FTP 和 Gingerbread 有经验,以及您是否愿意指导我正确的方向。

谢谢。

【问题讨论】:

  • 它是否通过了身份验证?是否有任何异常被抛出?
  • 您的代码适用于我的 Android 2.3.1 API 级别 9 模拟器和 commons-net-2.0.jar。也许你有一个旧版本?我使用了 FTP 站点 www.mirrorservice.org 和文件 /pub/gnu/r.README
  • 什么失败了?你有堆栈跟踪吗?构建失败或运行失败?
  • 似乎 FTP 确实可以在真机上运行,​​但不能在姜饼模拟器中运行。感谢大家的帮助!

标签: android ftp


【解决方案1】:

我不知道是什么导致了问题,但我发现 Android 2.3 上的 FTP 确实可以工作,但在仿真中却不行。

当我在手机上尝试我的代码时,它就像在所有以前的 Android 版本上一样工作。

感谢大家的帮助!

【讨论】:

    【解决方案2】:

    我要检查的第一件事是您是否拥有正确的权限,如果是这种情况,请检查 Logcat 是否有任何异常。如果您有任何问题,请在此处或通过 pastebin 发布。

    【讨论】:

      猜你喜欢
      • 2014-03-25
      • 2020-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 2011-05-28
      相关资源
      最近更新 更多