读书人

FTP 路径有关问题

发布时间: 2013-04-20 19:43:01 作者: rapoo

FTP 路径问题

上传文件到ftp服务器,如果知道绝对路径,就用:

?

status = this.CreateDirecroty(realRemoteDir, ftpClient);if (status != UploadStatus.Create_Directory_Success) {return status;}

?如果不知道绝对路径,就把以上这几行代码屏蔽。

?

/**  * CreateDirecroty(递归创建远程服务器目录)  * @param remoteFileDir 远程服务器文件绝对路径  * @param ftpClient  FTPClient对象  * @return 目录创建是否成功  * @throws IOException e  */public UploadStatus CreateDirecroty(String remoteFileDir,FTPClient ftpClient) throws IOException {UploadStatus status = UploadStatus.Create_Directory_Success;String directory = remoteFileDir;if (!directory.equalsIgnoreCase(File.separator)&& !ftpClient.changeWorkingDirectory(new String(directory.getBytes(this.ftpConfig.getDefaultLocalCharset()),this.ftpConfig.getDefaultRemoteCharset()))) {// 如果远程目录不存在,则递归创建远程服务器目录int maxIndex = MAX_INDEX;// 最大创建层级数int start = 0;int end = 0;if (directory.startsWith(File.separator)) {start = 1;} else {start = 0;}end = directory.indexOf(File.separator, start);while (true) {String subDirectory = new String(remoteFileDir.substring(start,end).getBytes(this.ftpConfig.getDefaultLocalCharset()),this.ftpConfig.getDefaultRemoteCharset());if (!ftpClient.changeWorkingDirectory(subDirectory)) {if (ftpClient.makeDirectory(subDirectory)) {ftpClient.changeWorkingDirectory(subDirectory);} else {logger.error("创建目录失败");return UploadStatus.Create_Directory_Fail;}}start = end + 1;end = directory.indexOf(File.separator, start);// 检查所有目录是否创建完毕if (end <= start) {break;}if (maxIndex == 0)break;maxIndex--;}}return status;}

?

?

?

?

?

?

读书人网 >行业软件

热点推荐