//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<File> getFileList(String path) {
|
// List<File> 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<File> 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("<DIR>")){ //文件夹
|
// //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);
|
// }
|
//}
|