我正在尝试检查FTP中是否存在该文件。当与一个用户测试时似乎没问题。但是对于多个用户的情况,似乎抛出以下异常: 线程“main”中的异常sun.net.ftp.FtpProtocolException:欢迎消息:421。
下面是我们用来检查文件是否存在的代码,我们已经关闭了所有连接,但仍抛出sun.net.ftp.FtpProtocolException:欢迎消息:421。
public boolean getFtpFileExists(String fileUrl)
{
URL theURL = null;
InputStream inputStream = null;
FtpURLConnection ftpUrlConn = null;
boolean ftpFileExists = false;
try
{
theURL = new URL(fileUrl);
ftpUrlConn = (FtpURLConnection)theURL.openConnection();
inputStream = ftpUrlConn.getInputStream();//calling this method will throw a 'FileNotFoundException' if doesn't exist
ftpFileExists = true;
}
catch(FileNotFoundException fnfe)
{
ftpFileExists = false;
}
catch(Exception e)
{
System.out.println(e.toString());
ftpFileExists = false;//hmm, not sure really!
}
finally
{
//close inputStream & connection
if(inputStream != null)
{
try
{
inputStream.close();
}
catch(IOException ioe)
{
System.out.println("Error closing input stream: "+ioe.getMessage());
}
}
try
{
ftpUrlConn.close();
}
catch(Exception e)
{
System.out.println("Error closing ftpUrlConnection");
}
}
return ftpFileExists;
}
有人可以帮我吗?
答案 0 :(得分:0)
您可以重新创建错误吗?
无论如何:
错误MSG:
421:服务不可用,关闭控制连接。这可能是一个 如果服务知道它必须关闭,则回复任何命令。
听起来可能需要在FTPServer上完成配置,而不是代码错误。