有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java正确检查FTP服务器连接

我在程序开始时打开与FTP服务器的连接

在服务器上执行操作之前,我想检查连接是否成功建立。最简单快捷的方式,因此如果连接断开,我将尝试再次连接

我使用了以下代码:

private boolean checkConnection()
{
    try 
    {
        boolean success = ftpClient.login(user_name, password);
        if(success)
            return true;
        else 
            return false;
    }
}

但当连接关闭时,此方法会引发NullPointer异常

我可以检查与ftpClient.connect(server, port);的连接,但这就像再次连接一样

bes检查连接的方法是什么


共 (1) 个答案

  1. # 1 楼答案

    private FTPClient ftp = null;
    
    private void connect()
    {
                ftp = new FTPClient();
    
                try {
    
                    ftp.connect("Server",port);
                    boolean login = ftp.login("username", "password");
                    System.out.println(" login "+ login );
    
                } catch (FTPConnectionClosedException e) {          
                    System.err.println("ERROR :: FTP Server Unreachable");
                    sleep();
                    connect();          
                } catch (SocketException e) {
                    System.err.println("ERROR :: FTP Server Unreachable");
                    sleep();
                    connect();  
                } catch (IOException e) {
                    System.err.println("ERROR :: FTP Server Unreachable");
                    sleep();
                    connect();  
                }
    }
    
    public void sleep(){
                try {
                    Thread.sleep(10000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
    }