From 1a68e172ec40964b34ad41991305400a61923450 Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Tue, 30 Jan 2018 22:41:51 +0800 Subject: [PATCH] updated --- src/main/java/com/moral/controller/UpgradeController.java | 59 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/moral/controller/UpgradeController.java b/src/main/java/com/moral/controller/UpgradeController.java index 64b3b52..97e1c1f 100644 --- a/src/main/java/com/moral/controller/UpgradeController.java +++ b/src/main/java/com/moral/controller/UpgradeController.java @@ -1,19 +1,19 @@ package com.moral.controller; +import com.moral.common.xml.Version; import org.apache.commons.net.ftp.FTPClient; +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; import org.springframework.web.bind.annotation.*; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; +import org.xml.sax.InputSource; +import java.io.*; @RestController @RequestMapping("upgrade") @CrossOrigin(origins = "*", maxAge = 3600) public class UpgradeController { - private FTPClient ftpClient; private String fileName = "Version.xml"; private String ip = "121.40.92.176"; private String userName = "ftp_user"; @@ -22,31 +22,18 @@ private String path = "/"; @RequestMapping(value = "/index", method = RequestMethod.GET) - public String index() throws IOException { - ftpClient = new FTPClient(); + public Version index() { + Version version = new Version(); + FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(ip, port); ftpClient.login(userName, userPwd); - if (path != null && path.length() > 0) { - ftpClient.changeWorkingDirectory(path); - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - ftpClient.logout(); - ftpClient.disconnect(); - } - return readFile(); - } - - public String readFile() { - InputStream ins = null; - StringBuilder builder = null; - try { - ins = ftpClient.retrieveFileStream(fileName); - BufferedReader reader = new BufferedReader(new InputStreamReader(ins, "UTF-8")); + ftpClient.changeWorkingDirectory(path); + ftpClient.enterRemotePassiveMode(); + InputStream ins = ftpClient.retrieveFileStream(fileName); + BufferedReader reader = new BufferedReader(new InputStreamReader(ins,"utf-8")); String line; - builder = new StringBuilder(150); + StringBuilder builder = new StringBuilder(); while ((line = reader.readLine()) != null) { builder.append(line); } @@ -55,9 +42,23 @@ ins.close(); } ftpClient.getReply(); - } catch (IOException e) { + String content = builder.toString(); + if(ftpClient.isConnected()) { + ftpClient.logout(); + ftpClient.disconnect(); + } + SAXReader saxReader = new SAXReader(); + Document document = saxReader.read(new InputSource(new ByteArrayInputStream(content.getBytes("utf-8")))); + Element root = document.getRootElement(); + version.setVer(root.element("Ver").getText()); + version.setFileName(root.element("FileName").getText()); + version.setFileMD5Hash(root.element("FileMD5Hash").getText()); + } catch (Exception e) { e.printStackTrace(); } - return builder.toString(); +// version.setVer("a"); +// version.setFileName("b"); +// version.setFileMD5Hash("c"); + return version; } } -- Gitblit v1.8.0