/*     */ import com.jcraft.jsch.Channel;
/*     */ import com.jcraft.jsch.ChannelSftp;
/*     */ import com.jcraft.jsch.JSch;
/*     */ import com.jcraft.jsch.JSchException;
/*     */ import com.jcraft.jsch.Session;
/*     */ import com.jcraft.jsch.SftpException;
/*     */ import java.io.BufferedInputStream;
/*     */ import java.io.File;
/*     */ import java.io.FileInputStream;
/*     */ import java.io.IOException;
/*     */ import java.io.InputStream;
/*     */ import java.util.Properties;
/*     */ import org.apache.log4j.Logger;
/*     */ 
/*     */ 
/*     */ public class FTPUtil
/*     */ {
/*  18 */   private Session session = null;
/*  19 */   private Channel channel = null;
/*  20 */   private ChannelSftp channelSftp = null;
/*     */   
/*  22 */   private static String[] g_strFTP = new String[5];
/*     */   
/*  24 */   private final Logger logger = Logger.getLogger(FTPUtil.class);
/*     */   
/*     */   public static void main(String[] args) {
/*     */     try {
/*  28 */       String propFile = "./config.properties";
/*     */       
/*  30 */       Properties props = new Properties();
/*     */       
/*  32 */       FileInputStream fis = new FileInputStream(propFile);
/*     */       
/*  34 */       props.load(new BufferedInputStream(fis));
/*     */ 
/*     */ 
/*     */       
/*  38 */       g_strFTP[0] = props.getProperty("path_org");
/*  39 */       g_strFTP[1] = props.getProperty("ftp_ip");
/*  40 */       g_strFTP[2] = props.getProperty("ftp_id");
/*  41 */       g_strFTP[3] = props.getProperty("ftp_pw");
/*  42 */       g_strFTP[4] = props.getProperty("path_desc");
/*     */ 
/*     */       
/*  45 */       props.clear();
/*  46 */       props = null;
/*  47 */     } catch (Exception e) {
/*  48 */       e.printStackTrace();
/*     */     } 
/*     */     
/*  51 */     String path = g_strFTP[0];
/*  52 */     g_strFTP[4] = String.valueOf(g_strFTP[4]) + "/2019/07/36/A10100013/";
/*     */     
/*  54 */     FTPUtil sftp = new FTPUtil();
/*  55 */     sftp.init(g_strFTP[1], g_strFTP[2], g_strFTP[3]);
/*     */ 
/*     */     
/*     */     try {
/*  59 */       sftp.mkdir2(g_strFTP[4].substring(1));
/*  60 */       System.out.println("폴더가 생성되었습니다.");
/*  61 */     } catch (Exception e) {
/*  62 */       e.getStackTrace();
/*     */     } 
/*     */ 
/*     */     
/*  66 */     File file = new File(String.valueOf(path) + "/aaa.txt");
/*     */     
/*     */     try {
/*  69 */       sftp.upload(g_strFTP[4], file, "aaa.txt", "bbb.txt");
/*     */     }
/*  71 */     catch (SftpException e) {
/*  72 */       e.printStackTrace();
/*  73 */     } catch (IOException e) {
/*  74 */       e.printStackTrace();
/*     */     } 
/*     */     
/*  77 */     sftp.disconnect();
/*     */   }
/*     */ 
/*     */ 
/*     */   
/*     */   public String mkdir(String path) throws SftpException {
/*  83 */     String[] pathArray = path.split("/");
/*     */     
/*  85 */     String currentDirectory = String.valueOf(this.channelSftp.pwd()) + "/";
/*  86 */     String totPathArray = "";
/*     */     
/*  88 */     for (int i = 0; i < pathArray.length; i++) {
/*  89 */       if (pathArray[i].length() != 0) {
/*     */ 
/*     */         
/*  92 */         totPathArray = String.valueOf(totPathArray) + pathArray[i] + "/";
/*  93 */         String currentPath = String.valueOf(currentDirectory) + totPathArray;
/*     */         
/*     */         try {
/*  96 */           this.channelSftp.mkdir(currentPath);
/*  97 */           this.channelSftp.cd(currentPath);
/*  98 */         } catch (Exception e) {
/*  99 */           this.channelSftp.cd(currentPath);
/*     */         } 
/*     */       } 
/*     */     } 
/* 103 */     return String.valueOf(currentDirectory) + "/" + totPathArray;
/*     */   }
/*     */ 
/*     */   
/*     */   public String mkdir2(String path) throws SftpException {
/* 108 */     String[] pathArray = path.split("/");
/*     */     
/* 110 */     String currentDirectory = "/";
/* 111 */     String totPathArray = "";
/*     */     
/* 113 */     for (int i = 0; i < pathArray.length; i++) {
/* 114 */       if (pathArray[i].length() != 0) {
/*     */ 
/*     */         
/* 117 */         totPathArray = String.valueOf(totPathArray) + pathArray[i] + "/";
/* 118 */         String currentPath = String.valueOf(currentDirectory) + totPathArray;
/*     */         
/*     */         try {
/* 121 */           this.channelSftp.mkdir(currentPath);
/* 122 */           this.channelSftp.cd(currentPath);
/* 123 */           this.channelSftp.chmod(511, currentPath);
/* 124 */         } catch (Exception e) {
/* 125 */           this.channelSftp.cd(currentPath);
/*     */         } 
/*     */       } 
/*     */     } 
/* 129 */     return String.valueOf(currentDirectory) + "/" + totPathArray;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void init(String url, String user, String password) {
/* 136 */     System.out.println(url);
/*     */     
/* 138 */     JSch jsch = new JSch();
/*     */     try {
/* 140 */       this.session = jsch.getSession(user, url);
/*     */       
/* 142 */       this.session.setPassword(password);
/*     */       
/* 144 */       Properties config = new Properties();
/*     */       
/* 146 */       config.put("StrictHostKeyChecking", "no");
/* 147 */       this.session.setConfig(config);
/*     */       
/* 149 */       this.session.connect();
/*     */       
/* 151 */       this.channel = this.session.openChannel("sftp");
/* 152 */       this.channel.connect();
/*     */     }
/* 154 */     catch (JSchException e) {
/* 155 */       this.logger.debug("Exception : " + e);
/*     */     } 
/* 157 */     this.channelSftp = (ChannelSftp)this.channel;
/*     */   }
/*     */ 
/*     */   
/*     */   public void upload(String dir, File file, String old, String neo) throws SftpException, IOException {
/* 162 */     FileInputStream in = null;
/*     */     
/* 164 */     in = new FileInputStream(file);
/* 165 */     this.channelSftp.cd(dir);
/* 166 */     this.channelSftp.put(in, file.getName());
/* 167 */     in.close();
/*     */     
/* 169 */     this.channelSftp.chmod(511, dir);
/* 170 */     this.channelSftp.chmod(511, old);
/* 171 */     this.channelSftp.rename(old, neo);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void upload2(String dir, File file, String old, String neo) throws SftpException, IOException {
/* 191 */     FileInputStream in = null;
/*     */     
/* 193 */     in = new FileInputStream(file);
/* 194 */     this.channelSftp.cd(dir);
/* 195 */     this.channelSftp.put(in, file.getName());
/* 196 */     in.close();
/*     */     
/* 198 */     this.logger.debug(String.format("============= :upload2 1 ", new Object[0]));
/* 199 */     this.channelSftp.rename(old, neo);
/*     */     
/* 201 */     this.logger.debug(String.format("============= :upload2 2 ", new Object[0]));
/*     */   }
/*     */ 
/*     */   
/*     */   public InputStream download(String dir, String fileNm) {
/* 206 */     InputStream in = null;
/* 207 */     String path = "...";
/*     */     try {
/* 209 */       this.channelSftp.cd(String.valueOf(path) + dir);
/* 210 */       in = this.channelSftp.get(fileNm);
/*     */     }
/* 212 */     catch (SftpException se) {
/* 213 */       this.logger.debug("Exception : " + se);
/*     */     } 
/*     */     
/* 216 */     return in;
/*     */   }
/*     */   
/*     */   public void disconnect() {
/* 220 */     this.channelSftp.quit();
/* 221 */     this.session.disconnect();
/*     */   }
/*     */ }


/* Location:              C:\Users\XIT_LBJ\Desktop\남산 혼잡통행료\운영환경 실 파일\3호 연계서버\car이미지자르\anpr스테이터스센드\anpr_status_send.jar!\FTPUtil.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */