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 + -
显示快捷键?