localizedftpreply.java

来自「JAVA FTP 上传下载 的源文件」· Java 代码 · 共 507 行 · 第 1/2 页

JAVA
507
字号
        // client directory        else if (varName.equals(CLIENT_DIR)) {            FileSystemView fsView = session.getFileSystemView();            if (fsView != null) {                try {                    varVal = fsView.getWorkingDirectory().getAbsolutePath();                } catch (Exception ex) {                    varVal = "";                }            }        }        return varVal;    }    /**     * Get output variable value.     */    private static String getOutputVariableValue(FtpIoSession session,            int code, String basicMsg, String varName) {        String varVal = null;        // output code        if (varName.equals(OUTPUT_CODE)) {            varVal = String.valueOf(code);        }        // output message        else if (varName.equals(OUTPUT_MSG)) {            varVal = basicMsg;        }        return varVal;    }    /**     * Get request variable value.     */    private static String getRequestVariableValue(FtpIoSession session,            FtpRequest request, String varName) {        String varVal = null;        if (request == null) {            return "";        }        // request line        if (varName.equals(REQUEST_LINE)) {            varVal = request.getRequestLine();        }        // request command        else if (varName.equals(REQUEST_CMD)) {            varVal = request.getCommand();        }        // request argument        else if (varName.equals(REQUEST_ARG)) {            varVal = request.getArgument();        }        return varVal;    }    /**     * Get server variable value.     */    private static String getServerVariableValue(FtpIoSession session,            String varName) {        String varVal = null;        SocketAddress localSocketAddress = session.getLocalAddress();        if (localSocketAddress instanceof InetSocketAddress) {            InetSocketAddress localInetSocketAddress = (InetSocketAddress) localSocketAddress;            // server address            if (varName.equals(SERVER_IP)) {                InetAddress addr = localInetSocketAddress.getAddress();                if (addr != null) {                    varVal = addr.getHostAddress();                }            }            // server port            else if (varName.equals(SERVER_PORT)) {                varVal = String.valueOf(localInetSocketAddress.getPort());            }        }        return varVal;    }    /**     * Get statistical connection variable value.     */    private static String getStatisticalConnectionVariableValue(            FtpIoSession session, FtpServerContext context, String varName) {        String varVal = null;        FtpStatistics stat = context.getFtpStatistics();        // total connection number        if (varName.equals(STAT_CON_TOTAL)) {            varVal = String.valueOf(stat.getTotalConnectionNumber());        }        // current connection number        else if (varName.equals(STAT_CON_CURR)) {            varVal = String.valueOf(stat.getCurrentConnectionNumber());        }        return varVal;    }    /**     * Get statistical directory variable value.     */    private static String getStatisticalDirectoryVariableValue(            FtpIoSession session, FtpServerContext context, String varName) {        String varVal = null;        FtpStatistics stat = context.getFtpStatistics();        // total directory created        if (varName.equals(STAT_DIR_CREATE_COUNT)) {            varVal = String.valueOf(stat.getTotalDirectoryCreated());        }        // total directory removed        else if (varName.equals(STAT_DIR_DELETE_COUNT)) {            varVal = String.valueOf(stat.getTotalDirectoryRemoved());        }        return varVal;    }    /**     * Get statistical file variable value.     */    private static String getStatisticalFileVariableValue(FtpIoSession session,            FtpServerContext context, String varName) {        String varVal = null;        FtpStatistics stat = context.getFtpStatistics();        // total number of file upload        if (varName.equals(STAT_FILE_UPLOAD_COUNT)) {            varVal = String.valueOf(stat.getTotalUploadNumber());        }        // total bytes uploaded        else if (varName.equals(STAT_FILE_UPLOAD_BYTES)) {            varVal = String.valueOf(stat.getTotalUploadSize());        }        // total number of file download        else if (varName.equals(STAT_FILE_DOWNLOAD_COUNT)) {            varVal = String.valueOf(stat.getTotalDownloadNumber());        }        // total bytes downloaded        else if (varName.equals(STAT_FILE_DOWNLOAD_BYTES)) {            varVal = String.valueOf(stat.getTotalDownloadSize());        }        // total number of files deleted        else if (varName.equals(STAT_FILE_DELETE_COUNT)) {            varVal = String.valueOf(stat.getTotalDeleteNumber());        }        return varVal;    }    /**     * Get statistical login variable value.     */    private static String getStatisticalLoginVariableValue(            FtpIoSession session, FtpServerContext context, String varName) {        String varVal = null;        FtpStatistics stat = context.getFtpStatistics();        // total login number        if (varName.equals(STAT_LOGIN_TOTAL)) {            varVal = String.valueOf(stat.getTotalLoginNumber());        }        // current login number        else if (varName.equals(STAT_LOGIN_CURR)) {            varVal = String.valueOf(stat.getCurrentLoginNumber());        }        // total anonymous login number        else if (varName.equals(STAT_LOGIN_ANON_TOTAL)) {            varVal = String.valueOf(stat.getTotalAnonymousLoginNumber());        }        // current anonymous login number        else if (varName.equals(STAT_LOGIN_ANON_CURR)) {            varVal = String.valueOf(stat.getCurrentAnonymousLoginNumber());        }        return varVal;    }    /**     * Get statistical variable value.     */    private static String getStatisticalVariableValue(FtpIoSession session,            FtpServerContext context, String varName) {        String varVal = null;        FtpStatistics stat = context.getFtpStatistics();        // server start time        if (varName.equals(STAT_START_TIME)) {            varVal = DateUtils.getISO8601Date(stat.getStartTime().getTime());        }        // connection statistical variables        else if (varName.startsWith("stat.con")) {            varVal = getStatisticalConnectionVariableValue(session, context,                    varName);        }        // login statistical variables        else if (varName.startsWith("stat.login.")) {            varVal = getStatisticalLoginVariableValue(session, context, varName);        }        // file statistical variable        else if (varName.startsWith("stat.file")) {            varVal = getStatisticalFileVariableValue(session, context, varName);        }        // directory statistical variable        else if (varName.startsWith("stat.dir.")) {            varVal = getStatisticalDirectoryVariableValue(session, context,                    varName);        }        return varVal;    }    /**     * Private constructor, only allow creating through factory method     */    private LocalizedFtpReply(int code, String message) {        super(code, message);    }    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?