//package com.whyc.dto; // //import com.enterprisedt.net.ftp.*; //import org.apache.commons.lang.StringUtils; // //import java.io.*; //import java.text.ParseException; //import java.util.ArrayList; //import java.util.Arrays; //import java.util.LinkedList; //import java.util.List; // //public class FtpHelper { // private FTPClient ftp; // // /** // * 初始化Ftp信息 // * // * @param ftpServer ftp服务器地址 // * @param ftpPort Ftp端口号 // * @param ftpUsername ftp 用户名 // * @param ftpPassword ftp 密码 // */ // public FtpHelper(String ftpServer, int ftpPort, String ftpUsername, // String ftpPassword) { // connect(ftpServer, ftpPort, ftpUsername, ftpPassword); // } // // /** // * 连接到ftp // * // * @param ftpServer ftp服务器地址 // * @param ftpPort Ftp端口号 // * @param ftpUsername ftp 用户名 // * @param ftpPassword ftp 密码 // */ // public void connect(String ftpServer, int ftpPort, String ftpUsername, String ftpPassword) { // ftp = new FTPClient(); // try { // ftp.setControlEncoding("GBK"); // ftp.setRemoteHost(ftpServer); // ftp.setRemotePort(ftpPort); // ftp.setTimeout(1000*60*60*12); // ftp.setConnectMode(FTPConnectMode.ACTIVE); // ftp.connect(); // ftp.login(ftpUsername, ftpPassword); // ftp.setType(FTPTransferType.BINARY); // } catch (Exception e) { // e.printStackTrace(); // ftp = null; // } // } // // /** // * 更改ftp路径 // * // * @param ftp // * @param dirName // * @return // */ // public boolean checkDirectory(FTPClient ftp, String dirName) { // boolean flag; // try { // ftp.chdir(dirName); // flag = true; // } catch (Exception e) { // //e.printStackTrace(); // flag = false; // } // return flag; // } // // /** // * 断开ftp链接 // */ // public void disconnect() { // try { // if (ftp.connected()) { // ftp.quit(); // } // } catch (Exception e) { // e.printStackTrace(); // } // } // // /** // * 读取ftp文件流 // * // * @param filePath ftp文件路径 // * @return s // * @throws Exception // */ // public InputStream downloadFile(String filePath) throws Exception { // InputStream inputStream = null; // String fileName = ""; // filePath = StringUtils.removeStart(filePath, "/"); // int len = filePath.lastIndexOf("/"); // if (len == -1) { // if (filePath.length() > 0) { // fileName = filePath; // } else { // throw new Exception("没有输入文件路径"); // } // } else { // fileName = filePath.substring(len + 1); // // String type = filePath.substring(0, len); // String[] typeArray = type.split("/"); // for (String s : typeArray) { // ftp.chdir(s); // } // } // byte[] data; // try { // data = ftp.get(fileName); // inputStream = new ByteArrayInputStream(data); // } catch (Exception e) { // e.printStackTrace(); // } // return inputStream; // } // // /** // * 上传文件到ftp // * // * @param file 文件对象 // * @param filePath 上传的路径 // * @throws Exception // */ // public void uploadFile(File file, String filePath) throws Exception { // InputStream inStream = new FileInputStream(file); // uploadFile(inStream, filePath); // } // // /** // * 上传文件到ftp // * // * @param inStream 上传的文件流 // * @param filePath 上传路径 // * @throws Exception // */ // public void uploadFile(InputStream inStream, String filePath) // throws Exception { // if (inStream == null) { // return; // } // String fileName = ""; // filePath = StringUtils.removeStart(filePath, "/"); // int len = filePath.lastIndexOf("/"); // if (len == -1) { // if (filePath.length() > 0) { // fileName = filePath; // } else { // throw new Exception("没有输入文件路径"); // } // } else { // fileName = filePath.substring(len + 1); // String type = filePath.substring(0, len); // String[] typeArray = type.split("/"); // for (String s : typeArray) { // s.trim(); // if (!checkDirectory(ftp, s)) { // if(!ftp.existsDirectory(s)) { // ftp.mkdir(s); // } // changeDirectory(s); // } // } // } // ftp.put(inStream, fileName); // changeDirectory("/"); // } // // public void uploadFile2(File inFile,String fileName) throws IOException, FTPException { // InputStream inStream = new FileInputStream(inFile); // ftp.put(inStream, fileName); // } // // /** // * 删除ftp文件 // * // * @param filePath 文件路径 // * @throws Exception // */ // public void deleteFile(String filePath) throws Exception { // String fileName = ""; // filePath = StringUtils.removeStart(filePath, "/"); // int len = filePath.lastIndexOf("/"); // if (len == -1) { // if (filePath.length() > 0) { // fileName = filePath; // } else { // throw new Exception("没有输入文件路径"); // } // } else { // fileName = filePath.substring(len + 1); // // String type = filePath.substring(0, len); // String[] typeArray = type.split("/"); // for (String s : typeArray) { // if (checkDirectory(ftp, s)) { // ftp.chdir(s); // } // } // } // ftp.delete(fileName); // } // // // //切换目录 // public void changeDirectory(String path) { // if (!StringUtils.isEmpty(path)) { // try { // ftp.chdir(path); // } catch (Exception e) { // e.printStackTrace(); // } // } // } // // //读取文件列表 // public List getFileList(String path) { // List rsList = new ArrayList<>(); // if (path == null || path.equals("")) { // return rsList; // } // File file = new File(path); // if (!file.exists()) { // return rsList; // } // // 处理文件 // if (file.isFile()) { // rsList.add(file); // return rsList; // } // // 处理文件夹 // if (null == file.listFiles()) { // rsList.add(file); // return rsList; // } // LinkedList forDealList = new LinkedList<>(); // forDealList.addAll(Arrays.asList(file.listFiles())); // while (!forDealList.isEmpty()) { // File firstFile = forDealList.removeFirst(); // // 处理文件 // if (firstFile.isFile()) { // // 把文件自身先加入结果 // rsList.add(firstFile); // continue; // } // // 处理文件夹 // File[] files = firstFile.listFiles(); // if (files == null) { // continue; // } // for (File curr : files) { // if (curr.isDirectory()) { // // 将此文件夹放入待处理列表 // forDealList.add(curr); // } else { // rsList.add(curr); // } // } // } // return rsList; // } // // public void deleteDir(String dirName) throws IOException, FTPException, ParseException { // FTPClient client = ftp; // // //String[] dir = client.dir(dirName, true); // FTPFile[] ftpFiles = client.dirDetails(dirName); // for (FTPFile ftpFile : ftpFiles) { // if(ftpFile.isDir()){ // deleteDir(dirName+"/"+ftpFile.getName()); // }else{ // client.delete(dirName+"/"+ftpFile.getName()); // } // } // /*for (String subDirName : dir) { // String name = subDirName.substring(subDirName.lastIndexOf(" ") + 1); // if(subDirName.contains("")){ //文件夹 // //name = new String(name.getBytes(StandardCharsets.ISO_8859_1),"GBK"); // deleteDir(dirName+"/"+name); // //client.rmdir(dirName+"/"+name); // }else{ // //name = new String(name.getBytes(StandardCharsets.ISO_8859_1),"GBK"); // client.delete(dirName+"/"+name); // } // }*/ // client.rmdir(dirName); // } // // public String[] getDirList() throws IOException, FTPException { // return ftp.dir(); // } // // public void mkdir(String dirPath) throws IOException, FTPException { // ftp.mkdir(dirPath); // } //}