我正在尝试从ftp服务器读取文件中的数据。当我从台式计算机运行时,这段代码在java中完美运行。我复制了相同的代码到android,我得到一个例外。例外是:
java.io.IOException:无法连接到服务器:无法检索文件:550
我不知道为什么当相同的代码在java中完美运行时它会发生。 java代码是:
String s = "ftp://username:password@ftp.mysite.x10.mx:21/sg1996text.txt;type=i";
URL u;
String f="";
try {
u = new URL(s);
URLConnection uc=u.openConnection();
BufferedInputStream bis=new BufferedInputStream(uc.getInputStream()); //This is where exception i raised.
System.out.println("IS opened");
int i;
while((i=bis.read())!=-1)
f=f+(char)i;
System.out.println("File Read");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:1)
卸下:
;type=i
来自您的网址:
String s = "ftp://username:password@ftp.mysite.x10.mx:21/sg1996text.txt;type=i";
它适用于我的应用程序。
答案 1 :(得分:0)
错误550 通常表示“权限错误”,因此最可能的原因是用户名/密码不匹配(但请参阅案例#3)。
然而,如果相同的代码适用于您的桌面,则用户名和密码应该是正确的。我看到的可能性是:
ftp.mysite.x10.mx
,而是连接到其他地方,例如: localhost上的开发安装(我做了一次;花了一些时间来弄明白)。尝试将服务器名称更改为其IP地址。