From 5421662bffbcc48841a0bfec20c1014b1383695d Mon Sep 17 00:00:00 2001 From: 00fly <00fly@noreply.gitcode.com> Date: Sat, 26 Oct 2024 21:22:50 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8docker=20Web?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E4=B8=80=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 42 ++++++ .../pom-deps.xml" | 82 ++++++++++++ .../pom-lib.xml" | 96 ++++++++++++++ .../pom.xml" | 124 ++++++++++++++++++ .../main/java/com/fly/simple/MainRun.java" | 35 +++++ .../java/com/fly/simple/TemplateRun.java" | 83 ++++++++++++ .../com/fly/simple/utils/FreeMarkerUtil.java" | 66 ++++++++++ .../com/fly/simple/utils/ShellExecutor.java" | 60 +++++++++ .../src/main/resources/log4j2.xml" | 13 ++ .../main/resources/templates/index.html.ftl" | 73 +++++++++++ 10 files changed, 674 insertions(+) create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/README.md" create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom-deps.xml" create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom-lib.xml" create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom.xml" create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/MainRun.java" create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/TemplateRun.java" create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/utils/FreeMarkerUtil.java" create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/utils/ShellExecutor.java" create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/resources/log4j2.xml" create mode 100644 "\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/resources/templates/index.html.ftl" diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/README.md" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/README.md" new file mode 100644 index 0000000..805417c --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/README.md" @@ -0,0 +1,42 @@ +# 一、需求概况 +现有某云主机服务器,用来做项目演示用,上面运行了docker应用,现希望有一总览页面,用来展示部署的应用。 +# 二、业务流程 + +```mermaid +graph LR +A(获取docker信息)--> B(模板生成页面)--> C(挂载到nginx) + +``` +/usr/share/nginx/html/index.html + +任务调度采用`crontab` + +演示地址:[http://124.71.129.204](http://124.71.129.204/) + + + + + + +# 三、Java工程打包 + +## 1. 一体化可执行包 + +配置文件:pom-deps.xml + +## 2. 带外部依赖lib的可执行包 + +配置文件:pom-lib.xml + + +## 3. 执行命令 +```shell +#完整打包 +mvn clean package + +#一体化可执行包 +mvn clean package -f pom-deps.xml + +#带外部依赖lib的可执行包 +mvn clean package -f pom-lib.xml +``` \ No newline at end of file diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom-deps.xml" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom-deps.xml" new file mode 100644 index 0000000..dcb862c --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom-deps.xml" @@ -0,0 +1,82 @@ + + + 4.0.0 + com.fly + docker-show + 0.0.1 + java-depend + http://maven.apache.org + jar + + + UTF-8 + UTF-8 + 1.8 + + + + org.freemarker + freemarker + 2.3.32 + + + org.apache.logging.log4j + log4j-slf4j-impl + 2.12.1 + + + org.apache.commons + commons-lang3 + 3.5 + + + org.projectlombok + lombok + 1.18.12 + provided + + + + ${project.artifactId} + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + + + maven-assembly-plugin + 3.5.0 + + false + + + com.fly.simple.TemplateRun + + + + + jar-with-dependencies + + + + + make-assembly + package + + single + + + + + + + diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom-lib.xml" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom-lib.xml" new file mode 100644 index 0000000..4feb584 --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom-lib.xml" @@ -0,0 +1,96 @@ + + + 4.0.0 + com.fly + docker-show + 0.0.1 + java-depend + http://maven.apache.org + jar + + + UTF-8 + UTF-8 + 1.8 + + + + org.freemarker + freemarker + 2.3.32 + + + org.apache.logging.log4j + log4j-slf4j-impl + 2.12.1 + + + org.apache.commons + commons-lang3 + 3.5 + + + org.projectlombok + lombok + 1.18.12 + provided + + + + ${project.artifactId} + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.2 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/lib + lombok + runtime + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + + true + lib + com.fly.simple.MainRun + + + ./ + + + + + + + diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom.xml" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom.xml" new file mode 100644 index 0000000..65da686 --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/pom.xml" @@ -0,0 +1,124 @@ + + + 4.0.0 + com.fly + docker-show + 0.0.1 + java-depend + http://maven.apache.org + jar + + + UTF-8 + UTF-8 + 1.8 + + + + org.freemarker + freemarker + 2.3.32 + + + org.apache.logging.log4j + log4j-slf4j-impl + 2.12.1 + + + org.apache.commons + commons-lang3 + 3.5 + + + org.projectlombok + lombok + 1.18.12 + provided + + + + ${project.artifactId} + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + + + maven-assembly-plugin + 3.5.0 + + true + + + com.fly.simple.TemplateRun + + + + + jar-with-dependencies + + + + + make-assembly + package + + single + + + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.2 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/lib + lombok + runtime + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + + true + lib + com.fly.simple.MainRun + + + ./ + + + + + + + diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/MainRun.java" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/MainRun.java" new file mode 100644 index 0000000..f22cf27 --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/MainRun.java" @@ -0,0 +1,35 @@ +package com.fly.simple; + +import java.io.IOException; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +import com.fly.simple.utils.ShellExecutor; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class MainRun +{ + static ScheduledExecutorService service = new ScheduledThreadPoolExecutor(1); + + /** + * 线程池保证程序一直运行 + * + * @param args + */ + public static void main(String[] args) + { + service.scheduleAtFixedRate(() -> { + try + { + log.info("######## {}", ShellExecutor.getDockerInfo()); + } + catch (IOException e) + { + log.error(e.getMessage(), e); + } + }, 2, 10, TimeUnit.SECONDS); + } +} diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/TemplateRun.java" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/TemplateRun.java" new file mode 100644 index 0000000..34839fc --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/TemplateRun.java" @@ -0,0 +1,83 @@ +package com.fly.simple; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.net.URL; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.SystemUtils; + +import com.fly.simple.utils.FreeMarkerUtil; +import com.fly.simple.utils.ShellExecutor; + +import freemarker.template.TemplateException; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class TemplateRun +{ + public static void main(String[] args) + throws IOException, TemplateException, InterruptedException + { + // Jar运行,必须提供参数server.net.ip + URL url = TemplateRun.class.getProtectionDomain().getCodeSource().getLocation(); + String ip = null; + if (url.getPath().endsWith(".jar")) + { + if (args.length > 0) + { + ip = Stream.of(args).filter(arg -> arg.contains("--server.net.ip")).map(arg -> StringUtils.substringAfter(arg, "=")).collect(Collectors.joining()); + log.info("JarPath: {}, ServerIp: {}", url.getPath(), ip); + } + if (StringUtils.isBlank(ip)) + { + log.error("please start jar like:\n java -jar docker-show-jar-with-dependencies.jar --server.net.ip=124.71.129.204"); + return; + } + } + + // 写入文件 + if (SystemUtils.IS_OS_WINDOWS) + { + File file = new File("index.html"); + creatPage(ip, file); + + // 打开页面10秒后删除文件 + Runtime.getRuntime().exec("cmd /c start /min " + file.getCanonicalPath()); + TimeUnit.SECONDS.sleep(10); + file.deleteOnExit(); + return; + } + if (SystemUtils.IS_OS_LINUX) + { + // crontab -e + // */30 * * * * java -jar /work/gitcode/docker-run/docker-show-jar-with-dependencies.jar --server.net.ip=124.71.129.204 + creatPage(ip, new File("/usr/share/nginx/html/index.html")); + } + } + + private static void creatPage(String ip, File file) + throws IOException, TemplateException + { + // 收集docker信息 + Map model = new HashMap<>(3); + model.put("date", new Date()); + model.put("map", ShellExecutor.getDockerInfo()); + model.put("ip", StringUtils.defaultIfBlank(ip, "127.0.0.1")); + + // {mysql5=[3306, 13306], mysql8=[23306], redis-server=[6379]} + String content = FreeMarkerUtil.renderTemplate("/templates/index.html.ftl", model); + try (FileWriter writer = new FileWriter(file)) + { + writer.write(content); + writer.flush(); + } + } +} diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/utils/FreeMarkerUtil.java" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/utils/FreeMarkerUtil.java" new file mode 100644 index 0000000..540f36f --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/utils/FreeMarkerUtil.java" @@ -0,0 +1,66 @@ +package com.fly.simple.utils; + +import java.io.IOException; +import java.io.StringWriter; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +import freemarker.template.Configuration; +import freemarker.template.Template; +import freemarker.template.TemplateException; + +/** + * + * FreeMarkers + * + * @author 00fly + * @version [版本号, 2017-4-4] + * @see [相关类/方法] + * @since [产品/模块版本] + */ +public class FreeMarkerUtil +{ + private static Configuration config; + + static + { + config = new Configuration(Configuration.VERSION_2_3_32); + config.setDefaultEncoding(StandardCharsets.UTF_8.name()); + } + + /** + * 获取模板填充model解析后的内容 + * + * @param template + * @param model + * @return + * @throws IOException + * @throws TemplateException + * @see [类、类#方法、类#成员] + */ + private static String renderTemplate(Template template, Map model) + throws TemplateException, IOException + { + StringWriter result = new StringWriter(); + template.process(model, result); + return result.toString(); + } + + /** + * 获取模板填充model后的内容 + * + * @param templatePath + * @param model + * @return + * @throws IOException + * @throws TemplateException + * @see [类、类#方法、类#成员] + */ + public static String renderTemplate(String templatePath, Map model) + throws TemplateException, IOException + { + config.setClassForTemplateLoading(FreeMarkerUtil.class, "/"); + Template template = config.getTemplate(templatePath); + return renderTemplate(template, model); + } +} \ No newline at end of file diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/utils/ShellExecutor.java" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/utils/ShellExecutor.java" new file mode 100644 index 0000000..4774266 --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/java/com/fly/simple/utils/ShellExecutor.java" @@ -0,0 +1,60 @@ +package com.fly.simple.utils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.SystemUtils; + +public class ShellExecutor +{ + /** + * execute命令 + * + * @param command + * @throws IOException + * @see [类、类#方法、类#成员] + */ + public static List execute(String command) + throws IOException + { + List resultList = new ArrayList<>(); + String[] cmd = SystemUtils.IS_OS_WINDOWS ? new String[] {"cmd", "/c", command} : new String[] {"/bin/sh", "-c", command}; + Process ps = Runtime.getRuntime().exec(cmd); + try (InputStream in = ps.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(in))) + { + String line; + while ((line = br.readLine()) != null) + { + resultList.add(line); + } + } + return resultList; + } + + public static Map> getDockerInfo() + throws IOException + { + // ribbon-user-1 8081/tcp + // ribbon-movie 8082/tcp + // ribbon-gateway 0.0.0.0:8085->8080/tcp, :::8085->8080/tcp + String dockerCmd = "docker ps --format \"{{.Names}} {{.Ports}}\""; + Map> map = new TreeMap<>(); + execute(dockerCmd).stream() + .filter(line -> StringUtils.contains(line, "->"))// 保留带端口映射的应用 + .map(line -> Collections.singletonMap(StringUtils.substringBefore(line, " "), + Stream.of(StringUtils.substringAfter(line, " ").split(",")).map(p -> StringUtils.substringBetween(p, ":", "->")).filter(StringUtils::isNotBlank).map(p -> p.replace(":", "")).sorted().collect(Collectors.toSet()))) + .forEach(it -> map.putAll(it)); + return map; + } +} diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/resources/log4j2.xml" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/resources/log4j2.xml" new file mode 100644 index 0000000..0bb64bd --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/resources/log4j2.xml" @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/resources/templates/index.html.ftl" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/resources/templates/index.html.ftl" new file mode 100644 index 0000000..9beeabd --- /dev/null +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/src/main/resources/templates/index.html.ftl" @@ -0,0 +1,73 @@ + + + + + + +Welcome to nginx! + +
+ + + + + + + <#list map?keys as key> + + + + + + +
No.ApplicationPorts
${key_index+1}${key} + <#list map[key] as port> + ${port}     + +
+

更新时间:${date?string('yyyy-MM-dd HH:mm:ss')}

+
+ + + \ No newline at end of file -- Gitee From bd904f906eb0a419ec8ed8f1681cb6103f00da38 Mon Sep 17 00:00:00 2001 From: 00fly <00fly@noreply.gitcode.com> Date: Sat, 26 Oct 2024 21:27:37 +0800 Subject: [PATCH 2/9] update README.md --- .../README.md" | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/README.md" "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/README.md" index 805417c..8e4480a 100644 --- "a/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/README.md" +++ "b/\346\234\215\345\212\241\345\231\250docker Web\345\272\224\347\224\250\344\270\200\350\247\210/README.md" @@ -39,4 +39,15 @@ mvn clean package -f pom-deps.xml #带外部依赖lib的可执行包 mvn clean package -f pom-lib.xml -``` \ No newline at end of file +``` + +# 四、部署步骤 + +将`docker-show-jar-with-dependencies.jar`拷贝到服务器位置 `/work/gitcode/docker-run` + +输入`crontab -e`添加如下内容,实现每30分钟执行一次生成页面,并复制到nginx首页位置`/usr/share/nginx/html/index.html` + +```bash +*/10 * * * * java -jar /work/gitcode/docker-run/docker-show-jar-with-dependencies.jar --server.net.ip=124.71.129.204 +``` +这边的124.71.129.204为服务器ip。 \ No newline at end of file -- Gitee From 836f4f8dc7856c4c7bff006a38c53d55e2b7b1cf Mon Sep 17 00:00:00 2001 From: 00fly <00fly@noreply.gitcode.com> Date: Sun, 27 Oct 2024 09:55:51 +0800 Subject: [PATCH 3/9] =?UTF-8?q?add=20=E7=A5=9E=E5=A5=87=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml" | 67 +++ .../java/com/fly/procode/core/DateUtil.java" | 19 + .../java/com/fly/procode/core/Service.java" | 232 +++++++++ .../com/fly/procode/process/RunProgress.java" | 80 +++ .../com/fly/procode/ui/ProCodeToolFrame.java" | 161 ++++++ .../com/fly/procode/ui/ProCodeToolSJ.java" | 472 ++++++++++++++++++ .../src/main/resources/image/icon.gif" | Bin 0 -> 1867 bytes 7 files changed, 1031 insertions(+) create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom.xml" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/DateUtil.java" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/Service.java" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/process/RunProgress.java" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolFrame.java" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSJ.java" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/resources/image/icon.gif" diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom.xml" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom.xml" new file mode 100644 index 0000000..f8bfd13 --- /dev/null +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom.xml" @@ -0,0 +1,67 @@ + + 4.0.0 + com.fly + procode + 0.0.1-SNAPSHOT + jar + procode + http://maven.apache.org + + 1.8 + UTF-8 + + + + + org.eclipse.platform + org.eclipse.swt.win32.win32.x86_64 + 3.112.0 + + + org.eclipse.platform + org.eclipse.swt.gtk.linux.aarch64 + + + org.eclipse.platform + org.eclipse.swt.gtk.linux.arm + + + + + + org.eclipse.platform + org.eclipse.jface + 3.17.0 + + + org.eclipse.platform + org.eclipse.swt + + + + + org.eclipse.platform + org.eclipse.equinox.common + 3.11.0 + + + org.eclipse.platform + org.eclipse.core.commands + 3.9.800 + + + + + + maven-compiler-plugin + 3.7.0 + + 1.8 + 1.8 + + + + + diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/DateUtil.java" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/DateUtil.java" new file mode 100644 index 0000000..bd55040 --- /dev/null +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/DateUtil.java" @@ -0,0 +1,19 @@ +package com.fly.procode.core; + +import java.text.SimpleDateFormat; + +public class DateUtil +{ + public final static String MMDDHHMM = "_MMddHHmm"; + + public static final String getCurrDateTimeStr(String formatStr) + { + SimpleDateFormat sdf = new SimpleDateFormat(formatStr); + return sdf.format(System.currentTimeMillis()); + } + + public static final String getCurrDateTimeStr() + { + return getCurrDateTimeStr(MMDDHHMM); + } +} diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/Service.java" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/Service.java" new file mode 100644 index 0000000..d6da27f --- /dev/null +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/Service.java" @@ -0,0 +1,232 @@ +package com.fly.procode.core; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.util.ArrayList; +import java.util.List; +import java.util.Observable; + +import com.fly.procode.process.RunProgress; + +/** + * 核心业务逻辑类 + */ +public class Service extends Observable +{ + // 项目源代码目录 + private String sourcePath; + + private RunProgress runProcess; + + // 构造函数 + public Service() + { + super(); + } + + public RunProgress getRunProcess() + { + return runProcess; + } + + public void setRunProcess(RunProgress runProcess) + { + this.runProcess = runProcess; + } + + public String getSourcePath() + { + return sourcePath; + } + + public void setSourcePath(String sourcePath) + { + this.sourcePath = sourcePath; + } + + // 创建备份文件 + public void createBakFile(String bootPath, String bakFileName, List fileFilter, String pwdtext) + { + // InputStream,OutputStream 并不负责文件创建或删除 + // 这部分功能由File来实现 + File bakfile = new File(bakFileName); + if (bakfile.exists()) + { + bakfile.delete(); + } + if (!"".equals(pwdtext)) + { + // new FileOutputStream(File file,boolean append) + try (OutputStream fos = new FileOutputStream(bakFileName, false); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fos, "ISO-8859-1"))) + { + writer.write("It is a encrypt backup File"); + writer.newLine(); + } + catch (IOException e) + { + e.printStackTrace(); + } + } + // 备份文件 + bakFile(bootPath, bakFileName, fileFilter, pwdtext); + } + + // 递归备份文件 + private void bakFile(String bootPath, String bakFileName, List fileFilter, String pwdtext) + { + File file = new File(sourcePath); + if (file.exists() && file.isDirectory() && !file.getName().startsWith(".")) + { + File[] files = file.listFiles(); + for (int i = 0; i < files.length; i++) + { + File f1 = files[i]; + if (f1.isDirectory()) + { + Service p = new Service(); + p.setRunProcess(runProcess); + p.addObserver(runProcess); + p.setSourcePath(f1.getPath()); + p.bakFile(bootPath, bakFileName, fileFilter, pwdtext); + } + else if (f1.isFile()) + { + if (isExtraFile(f1.getName(), fileFilter)) + { + setChanged(); + notifyObservers("开始处理文件: " + f1.getName()); + List list = new ArrayList(); + String text = "//goto " + f1.getPath().substring(bootPath.length()); + list.add(text); + list.addAll(getFiletext(f1.getPath())); + writeFile(list, bakFileName, pwdtext); + } + } + } + } + } + + // 以append 方式将text 写入 bakFile + private void writeFile(List list, String bakFileName, String pwdtext) + { + // 设置缓冲区大小为8192 bytes + try (OutputStream os = new FileOutputStream(bakFileName, true); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "ISO-8859-1"), 8192)) + { + for (String text : list) + { + writer.write(text); + writer.newLine(); + } + } + catch (IOException e) + { + e.printStackTrace(); + } + } + + // 获取文件内容 + private List getFiletext(String filePath) + { + // 设置缓冲区大小为8192 bytes + List list = new ArrayList(); + try (InputStream is = new FileInputStream(filePath); BufferedReader in = new BufferedReader(new InputStreamReader(is, "ISO-8859-1"), 8192)) + { + String text; + while ((text = in.readLine()) != null) + { + list.add(text); + } + return list; + } + catch (IOException e) + { + e.printStackTrace(); + return null; + } + } + + // 是否为需要备份的文件类型 + private boolean isExtraFile(String fileName, List fileFilter) + { + for (String postfix : fileFilter) + { + if (fileName.endsWith(postfix)) + { + return true; + } + } + return false; + } + + // 从备份文件恢复文件至dir + public void createSourceFile(String bakFile, String dir) + { + File f = new File(bakFile); + String separator = System.getProperty("file.separator"); + int beginIndex = bakFile.lastIndexOf(separator) + 1; + int endIndex = bakFile.indexOf("_"); + String t; + if (endIndex > 0) + { + t = bakFile.substring(beginIndex, endIndex) + separator; + } + else + { + t = bakFile.substring(beginIndex, bakFile.indexOf(".")) + separator; + } + dir = dir + t; + List list = getFiletext(f.getPath()); + BufferedWriter writer = null; + for (String text : list) + { + try + { + if (text.trim().startsWith("//goto ")) + { + // close old file + if (writer != null) + { + writer.close(); + } + // creat new file + int pos = text.indexOf("//goto ") + 7; + File file = new File(dir + text.substring(pos)); + file.getParentFile().mkdirs(); + OutputStream os = new FileOutputStream(file); + writer = new BufferedWriter(new OutputStreamWriter(os, "8859_1"), 8192); + } + else + { + if (writer != null) + { + writer.write(text); + writer.newLine(); + } + } + } + catch (IOException e) + { + e.printStackTrace(); + } + } + try + { + if (writer != null) + { + writer.close(); + } + } + catch (IOException e) + { + e.printStackTrace(); + } + } +} diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/process/RunProgress.java" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/process/RunProgress.java" new file mode 100644 index 0000000..501e9a2 --- /dev/null +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/process/RunProgress.java" @@ -0,0 +1,80 @@ +package com.fly.procode.process; + +import java.lang.reflect.InvocationTargetException; +import java.util.List; +import java.util.Observable; +import java.util.Observer; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.operation.IRunnableWithProgress; + +import com.fly.procode.core.Service; + +/** + * + * 创建代码进度条线程 + * + * @author 00fly + * @version [版本号, 2017年5月3日] + * @see [相关类/方法] + * @since [产品/模块版本] + */ +public class RunProgress implements IRunnableWithProgress, Observer +{ + private String sourcePath; + + private String bakFileName; + + private List fileFilter; + + private String pwdtext; + + private IProgressMonitor monitor; + + public RunProgress(String bootPath, String bakFileName, List fileFilter, String pwdtext) + { + super(); + this.sourcePath = bootPath; + this.bakFileName = bakFileName; + this.fileFilter = fileFilter; + this.pwdtext = pwdtext; + } + + @Override + public void run(IProgressMonitor monitor) + throws InvocationTargetException, InterruptedException + { + // 在当前目录,创建并运行脚本 + try + { + monitor.beginTask("代码备份", IProgressMonitor.UNKNOWN); + monitor.subTask("代码备份中......"); + creatAndRun(sourcePath, bakFileName, fileFilter, pwdtext, monitor); + monitor.done(); + } + catch (Exception e) + { + throw new InvocationTargetException(e.getCause(), e.getMessage()); + } + } + + // 运行代码创建程序 + private void creatAndRun(String sourcePath, String bakFileName, List fileFilter, String pwdtext, IProgressMonitor monitor) + { + this.monitor = monitor; + Service service = new Service(); + service.setRunProcess(this); + service.addObserver(this); + service.setSourcePath(sourcePath); + service.createBakFile(sourcePath, bakFileName, fileFilter, pwdtext); + } + + @Override + public void update(Observable observable, Object msg) + { + if (msg instanceof String) + { + monitor.subTask((String)msg); + } + } +} diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolFrame.java" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolFrame.java" new file mode 100644 index 0000000..e6531c5 --- /dev/null +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolFrame.java" @@ -0,0 +1,161 @@ +package com.fly.procode.ui; + +import java.awt.BorderLayout; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.net.URL; +import java.nio.charset.StandardCharsets; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; + +/** + * + * 工具UI简化版本 + * + * @author 00fly + * @version [版本号, 2023年3月3日] + * @see [相关类/方法] + * @since [产品/模块版本] + */ +public class ProCodeToolFrame extends JFrame +{ + private static final long serialVersionUID = -2145267777297657212L; + + JFrame frame = this; + + public ProCodeToolFrame() + { + initComponent(); + this.setVisible(true); + this.setResizable(true); + this.setAlwaysOnTop(true); + this.setTitle("代码恢复工具 V1.0"); + this.setBounds(400, 200, 1200, 550); + this.setDefaultCloseOperation(EXIT_ON_CLOSE); + try + { + // 设定用户界面的外观 + UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); + SwingUtilities.updateComponentTreeUI(this); + } + catch (Exception e) + { + } + } + + /** + * 组件初始化 + * + * @see [类、类#方法、类#成员] + */ + private void initComponent() + { + // 加载图标 + URL url = getClass().getResource("/image/icon.gif"); + if (url != null) + { + this.setIconImage(getToolkit().createImage(url)); + } + + JTextArea textArea = new JTextArea(); + textArea.setToolTipText("请输入全部待恢复代码"); + + // JTextArea不自带滚动条,因此就需要把文本区放到一个滚动窗格中 + JScrollPane scroll = new JScrollPane(textArea); + scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); + + JButton button = new JButton("开始恢复代码"); + this.add(scroll, BorderLayout.CENTER); + this.add(button, BorderLayout.SOUTH); + button.addMouseListener(new MouseAdapter() + { + @Override + public void mouseClicked(MouseEvent event) + { + try + { + String dir = new File(" ").getCanonicalPath(); + createSourceFile(textArea.getText(), dir); + JOptionPane.showMessageDialog(frame, "恢复文件到目录: " + dir + " 成功!", "提示", JOptionPane.INFORMATION_MESSAGE); + } + catch (Exception e) + { + JOptionPane.showMessageDialog(frame, e.getMessage(), "系統异常", JOptionPane.ERROR_MESSAGE); + } + } + }); + } + + /** + * 恢复文件至dir + * + * @param text + * @param dir + */ + private void createSourceFile(String text, String dir) + { + String[] textArr = text.split("\n"); + BufferedWriter writer = null; + for (String line : textArr) + { + try + { + if (line.trim().startsWith("//goto ")) + { + // close old file + if (writer != null) + { + writer.close(); + } + // creat new file + int pos = line.indexOf("//goto ") + 7; + File file = new File(dir + line.substring(pos)); + file.getParentFile().mkdirs(); + OutputStream os = new FileOutputStream(file); + writer = new BufferedWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8), 8192); + } + else + { + if (writer != null) + { + writer.write(line); + writer.newLine(); + } + } + } + catch (IOException e) + { + e.printStackTrace(); + } + } + try + { + if (writer != null) + { + writer.close(); + } + } + catch (IOException e) + { + e.printStackTrace(); + } + } + + public static void main(String[] args) + { + SwingUtilities.invokeLater(() -> new ProCodeToolFrame()); + } +} diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSJ.java" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSJ.java" new file mode 100644 index 0000000..49d54b0 --- /dev/null +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSJ.java" @@ -0,0 +1,472 @@ +package com.fly.procode.ui; + +import java.awt.Desktop; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.jface.dialogs.IInputValidator; +import org.eclipse.jface.dialogs.InputDialog; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; +import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.DirectoryDialog; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.FileDialog; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.MenuItem; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.TabFolder; +import org.eclipse.swt.widgets.TabItem; +import org.eclipse.swt.widgets.Text; + +import com.fly.procode.core.DateUtil; +import com.fly.procode.core.Service; +import com.fly.procode.process.RunProgress; + +/** + * + * swt jface版本 + * + * @author 00fly + * @version [版本号, 2020年4月24日] + * @see [相关类/方法] + * @since [产品/模块版本] + */ +public class ProCodeToolSJ +{ + Display display; + + Shell shell; + + org.eclipse.swt.widgets.List listJava; + + org.eclipse.swt.widgets.List listPage; + + public ProCodeToolSJ() + { + super(); + display = new Display(); + shell = new Shell(display, SWT.MIN | SWT.CLOSE | SWT.ON_TOP); + InputStream is = this.getClass().getResourceAsStream("/image/icon.gif"); + if (is != null) + { + shell.setImage(new Image(display, is)); + } + shell.setText("代码备份恢复工具 V1.1.0"); + shell.setSize(540, 383); + Rectangle screeRec = display.getBounds(); + Rectangle shellRec = shell.getBounds(); + if (shellRec.height > screeRec.height) + { + shellRec.height = screeRec.height; + } + if (shellRec.width > screeRec.width) + { + shellRec.width = screeRec.width; + } + shell.setLocation((screeRec.width - shellRec.width) / 2, (screeRec.height - shellRec.height) / 2); + addMenu(); + setContent(); + shell.open(); + while (!shell.isDisposed()) + { + if (!display.readAndDispatch()) + { + display.sleep(); + } + } + display.dispose(); + } + + // main + public static void main(String[] args) + { + new ProCodeToolSJ(); + } + + // Menu set + private void addMenu() + { + Menu m = new Menu(shell, SWT.BAR); + // create a file menu and add an exit item + MenuItem file = new MenuItem(m, SWT.CASCADE); + file.setText("文件(&F)"); + file.setAccelerator(SWT.CTRL + 'F'); + Menu filemenu = new Menu(shell, SWT.DROP_DOWN); + file.setMenu(filemenu); + MenuItem openMenuItem = new MenuItem(filemenu, SWT.CASCADE); + openMenuItem.setText("最近备份(&O)"); + openMenuItem.setAccelerator(SWT.CTRL + 'O'); + Menu submenu = new Menu(shell, SWT.DROP_DOWN); + openMenuItem.setMenu(submenu); + MenuItem childItem = new MenuItem(submenu, SWT.PUSH); + childItem.setText("Child"); + MenuItem saveMenuItem = new MenuItem(filemenu, SWT.CASCADE); + saveMenuItem.setText("最近恢复(&S)"); + saveMenuItem.setAccelerator(SWT.CTRL + 'S'); + Menu submenu2 = new Menu(shell, SWT.DROP_DOWN); + saveMenuItem.setMenu(submenu2); + MenuItem childItem2 = new MenuItem(submenu2, SWT.PUSH); + childItem2.setText("Child2"); + new MenuItem(filemenu, SWT.SEPARATOR); + MenuItem exitMenuItem = new MenuItem(filemenu, SWT.PUSH); + exitMenuItem.setText("退出(&X)"); + exitMenuItem.setAccelerator(SWT.CTRL + 'X'); + exitMenuItem.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent e) + { + System.exit(0); + } + }); + // create a Help menu and add an about item + MenuItem help = new MenuItem(m, SWT.CASCADE); + help.setText("帮助(&H)"); + help.setAccelerator(SWT.CTRL + 'H'); + Menu helpmenu = new Menu(shell, SWT.DROP_DOWN); + help.setMenu(helpmenu); + MenuItem useMenuItem = new MenuItem(helpmenu, SWT.PUSH); + useMenuItem.setText("使用指南(&U)"); + new MenuItem(helpmenu, SWT.SEPARATOR); + MenuItem aboutMenuItem = new MenuItem(helpmenu, SWT.PUSH); + aboutMenuItem.setText("关于工具(&A)"); + useMenuItem.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent event) + { + MessageDialog.openInformation(shell, "使用指南", "请按以下顺序操作:" + "\n 文件备份" + "\n 1. 选择项目源文件的目录。" + "\n 2. 选择需要备份的文件类型。" + "\n 3. 选择备份文件输出目录。" + "\n 4. 导出文件。" + "\n " + "\n 文件恢复 " + "\n 1. 到备份目录下选择备份文件。" + "\n 2. 选择备份文件的恢复目录。" + "\n 3. 恢复文件"); + } + }); + aboutMenuItem.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent event) + { + MessageDialog.openInformation(shell, "关于本工具", "代码备份恢复工具。\n\nkailin 于2010年5月。"); + } + }); + shell.setMenuBar(m); + } + + public void setContent() + { + TabFolder tabFolder = new TabFolder(shell, SWT.NONE); + tabFolder.setBounds(5, 2, 525, 328); + TabItem item = new TabItem(tabFolder, SWT.NONE); + item.setText(" 代码备份 "); + item.setControl(new BakPanlTab(tabFolder, SWT.NONE)); + TabItem item2 = new TabItem(tabFolder, SWT.NONE); + item2.setText(" 代码恢复 "); + item2.setControl(new RestorePanlTab(tabFolder, SWT.NONE)); + } + + // 备份面板 + class BakPanlTab extends Composite + { + Button pwdButton; + + Text tpwd = new Text(this, SWT.NONE); + + public BakPanlTab(Composite c, int style) + { + super(c, style); + Label sourceLabel = new Label(this, SWT.NONE); + sourceLabel.setText("项目源文件目录:"); + sourceLabel.setBounds(20, 30, 100, 18); + final Text tsourcePath = new Text(this, SWT.BORDER); + tsourcePath.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); + tsourcePath.setEditable(false); + tsourcePath.setBounds(120, 30, 300, 20); + Button sourceBrowse = new Button(this, SWT.PUSH); + sourceBrowse.setText("选择"); + sourceBrowse.setBounds(430, 30, 70, 20); + sourceBrowse.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent event) + { + DirectoryDialog dialog = new DirectoryDialog(shell); + dialog.setFilterPath(tsourcePath.getText()); + String fileName = dialog.open(); + if (fileName != null) + { + if (fileName.endsWith("\\")) + { + tsourcePath.setText(fileName); + } + else + { + tsourcePath.setText(fileName + "\\"); + } + // 新源文件目录被选中,清空密码 + tpwd.setText(""); + pwdButton.setEnabled(true); + } + } + }); + Label fileTypeLabel = new Label(this, SWT.NONE); + fileTypeLabel.setText("源文件类型:"); + fileTypeLabel.setBounds(20, 60, 100, 18); + + listJava = new org.eclipse.swt.widgets.List(this, SWT.BORDER | SWT.V_SCROLL | SWT.SIMPLE | SWT.MULTI); + listJava.setBounds(120, 60, 120, 110); + listJava.setToolTipText("选择需要备份的源文件类型,支持多选!"); + String[] fileTypes = {".java", ".xml", ".yml", ".properties", ".sql"}; + listJava.setItems(fileTypes); + + listPage = new org.eclipse.swt.widgets.List(this, SWT.BORDER | SWT.V_SCROLL | SWT.SIMPLE | SWT.MULTI); + listPage.setBounds(280, 60, 120, 110); + listPage.setToolTipText("选择需要备份的源文件类型,支持多选!"); + String[] fileTypes2 = {".html", ".js", ".css", ".vue", ".jsp"}; + listPage.setItems(fileTypes2); + + Label pwdLabel = new Label(this, SWT.NONE); + pwdLabel.setText("可选项:"); + pwdLabel.setBounds(20, 180, 100, 18); + pwdButton = new Button(this, SWT.PUSH); + pwdButton.setText("设置密码"); + pwdButton.setBounds(120, 180, 100, 20); + pwdButton.setEnabled(false); + pwdButton.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent event) + { + InputDialog dlg = new InputDialog(shell, "带密码备份", "请输入8位密码(包括字母,数字和字符):", "", new LengthValidator()); + if (dlg.open() == Window.OK) + { + tpwd.setText(dlg.getValue()); + MessageDialog.openInformation(shell, "恭喜你", "密码设置成功!"); + } + } + }); + Label bakeLabel = new Label(this, SWT.NONE); + bakeLabel.setText("备份至目录:"); + bakeLabel.setBounds(20, 210, 100, 18); + final Text tbakPath = new Text(this, SWT.BORDER); + tbakPath.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); + tbakPath.setEditable(false); + tbakPath.setText(new File(" ").getAbsolutePath().trim()); + tbakPath.setBounds(120, 210, 300, 20); + Button bakBrowse = new Button(this, SWT.PUSH); + bakBrowse.setText("选择"); + bakBrowse.setBounds(430, 210, 70, 20); + bakBrowse.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent event) + { + DirectoryDialog dialog = new DirectoryDialog(shell); + dialog.setFilterPath(tbakPath.getText()); + String fileName = dialog.open(); + if (fileName != null) + { + if (fileName.endsWith("\\")) + { + tbakPath.setText(fileName); + } + else + { + tbakPath.setText(fileName + "\\"); + } + } + } + }); + Button bakButton = new Button(this, SWT.PUSH); + bakButton.setText("开始备份"); + bakButton.setBounds(220, 250, 100, 40); + bakButton.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent event) + { + if ("".equals(tsourcePath.getText())) + { + MessageDialog.openWarning(shell, "警告", "项目源文件目录不可为空!"); + return; + } + if (listJava.getSelectionCount() + listPage.getSelectionCount() < 1) + { + MessageDialog.openError(shell, "警告", "请选择源文件类型,支持多选!"); + listJava.setFocus(); + return; + } + String sourcePath = tsourcePath.getText(); + String bakFileName = tbakPath.getText() + new File(sourcePath).getName() + DateUtil.getCurrDateTimeStr() + ".bak"; + try + { + List fileTypes = new ArrayList(); + for (String it : listJava.getSelection()) + { + fileTypes.add(it); + } + for (String it : listPage.getSelection()) + { + fileTypes.add(it); + } + String pwdtext = tpwd.getText(); + IRunnableWithProgress runnable = new RunProgress(sourcePath, bakFileName, fileTypes, pwdtext); + new ProgressMonitorDialog(shell).run(true, false, runnable); + String message = "创建明文备份文件 " + bakFileName + " 成功!"; + if (!"".equals(pwdtext)) + { + message = "创建加密备份文件 " + bakFileName + " 成功!"; + } + MessageDialog.openInformation(shell, "提示", message); + } + catch (InvocationTargetException e) + { + MessageDialog.openError(shell, "警告", e.getMessage()); + } + catch (InterruptedException e) + { + MessageDialog.openInformation(shell, "Cancelled", "刷新操作被用户取消!"); + } + catch (RuntimeException e) + { + MessageDialog.openError(shell, "错误", "创建备份文件 " + bakFileName + " 失败!"); + } + if (MessageDialog.openConfirm(shell, "查看备份文件", "处理完成,是否直接查看文件?")) + { + try + { + Desktop.getDesktop().open(new File(bakFileName).getParentFile()); + } + catch (IOException e) + { + } + } + } + }); + } + + // 密码长度验证 + class LengthValidator implements IInputValidator + { + @Override + public String isValid(String newText) + { + int len = newText.length(); + if (len < 8) + { + return "长度少于8位"; + } + if (len > 8) + { + return "长度大于8位"; + } + return null; + } + } + } + + // 恢复面板 + class RestorePanlTab extends Composite + { + public RestorePanlTab(Composite c, int style) + { + super(c, style); + Label bakeLabel = new Label(this, SWT.NONE); + bakeLabel.setText("选择备份文件:"); + bakeLabel.setBounds(20, 30, 100, 18); + final Text tbakPath = new Text(this, SWT.BORDER); + tbakPath.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); + tbakPath.setEditable(false); + tbakPath.setBounds(120, 30, 300, 20); + Button bakBrowse = new Button(this, SWT.PUSH); + bakBrowse.setText("选择"); + bakBrowse.setBounds(430, 30, 70, 20); + bakBrowse.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent event) + { + FileDialog fileDialog = new FileDialog(shell, SWT.OPEN); + fileDialog.setText("选择文件"); + String[] filterExt = {"*.bak"}; + fileDialog.setFilterExtensions(filterExt); + String selected = fileDialog.open(); + if (selected == null) + { + return; + } + tbakPath.setText(selected); + } + }); + Label sourceLabel = new Label(this, SWT.NONE); + sourceLabel.setText("恢复至目录:"); + sourceLabel.setBounds(20, 100, 100, 18); + final Text tsourcePath = new Text(this, SWT.BORDER); + tsourcePath.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); + tsourcePath.setEditable(false); + tsourcePath.setText(new File(" ").getAbsolutePath().trim()); + tsourcePath.setBounds(120, 100, 300, 20); + Button sourceBrowse = new Button(this, SWT.PUSH); + sourceBrowse.setText("选择"); + sourceBrowse.setBounds(430, 100, 70, 20); + sourceBrowse.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent event) + { + DirectoryDialog dialog = new DirectoryDialog(shell); + dialog.setFilterPath(tsourcePath.getText()); + String fileName = dialog.open(); + if (fileName != null) + { + if (fileName.endsWith("\\")) + { + tsourcePath.setText(fileName); + } + else + { + tsourcePath.setText(fileName + "\\"); + } + } + } + }); + Button resetButton = new Button(this, SWT.PUSH); + resetButton.setText("开始恢复"); + resetButton.setBounds(220, 170, 100, 40); + resetButton.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent event) + { + if ("".equals(tbakPath.getText()) || "".equals(tsourcePath.getText())) + { + MessageDialog.openWarning(shell, "警告", "备份文件或恢复目录不可为空!"); + } + else + { + String dir = tsourcePath.getText(); + try + { + new Service().createSourceFile(tbakPath.getText(), dir); + MessageDialog.openInformation(shell, "提示", "恢复文件到目录: " + dir + " 成功!"); + } + catch (RuntimeException e) + { + MessageDialog.openError(shell, "错误", "恢复文件失败,请重新检查备份文件!"); + } + } + } + }); + } + } +} diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/resources/image/icon.gif" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/resources/image/icon.gif" new file mode 100644 index 0000000000000000000000000000000000000000..b1a689d7272f228f122f6ac7f3628ecc74516a17 GIT binary patch literal 1867 zcmV-R2ekM{Nk%w1VK4wN0Qdg@qX`A13I?YP2&xSRsSXLR5D2al45=9vu@VWg6brBv z4YU^zxfu?&84$G{6TKZ0vmhG3Ar-nO9=;?Pt|lb0DJHZnD7rE$yE81hJUG5eM!!{4 zz!n6<7zM={1&_=|2zu+J`D0a65u^2;y)|sLWa$4weQSxF+@@YZzYC`^CLjP_+`e{z`Y*YViQ1Nk2@^wxB zazy`jNdI+B|9MOEd{p*$Tl;la{dZjddQks+RR4Zb|9w~ge_7&lX6$}u^LJzSdu9KA zVcUXx_k&;mfKva0SO0=s|A<-ggKhtSWB-L=|Al4$glhPTVE>C_|A}V*j%WIdZ~u#E z|BY(@j%@#ocK?uW{hDq5l5zi(a{rcf|CM|Dn{oe`cmJPp{+oOMp>+SCf6;`3)`*4K zi-y*ck=d1!-nDm&5{+@yQosIFIlk23M_N9yeqJ#dWivOsJ{;G}stdH=i zpZlko{;iSzs+#|>mHxDw|G1yyva#m1v+KIH_phV=w5I>MqyN6B|G}mH!>a$tt^dcd z_{6;b%(VW@y8qI=?aAy*wp#j*8ktx`S0)f@bCKY@cr`f{`B(y z|Nj6000930A^8LW3IP8AEC2ui05AYB000R80RIUbNU)&6g9sBUT*$DYLxs8^)tN{U zlC6gr2}*QiN*FnC-$H)#Wy(<2Z$ol}D;FI)Zf_zzjOA$W+N|odx`i9^THLtYymEtcmtoXz zeEmueEYk92%hyt0=a74ZH_vkTA73Yq-^;)^lP=KSFe7ZR~Kps=oWTFK@b!PNqgGG^P^s3Wk2B*($78Tu}uXClIs* zHR?R)AfDCmYN{{3usCFzf(i<2tj1OWM6v_fV9jB7K1iyb(^9*Nkaw&>B&*qOTSd21 zOz|y2Hc)fegXZQLZLiesk_#T!S{g60^wvAY4-pU~#VCiZcFnn_3PWu!7++!~yqLmT z#m5R8A#x5*5G2YW>ZIl`y2McH3&y#GBJ37rY^%k`AlEDM5ks^9NI^BU_9(y?!~AQY z*}lpx&Q<7a1kXbZ(QrX7Q1gv3(pvm7#?&wd9ne-as-5Iq^g) z8;gCn=m|r9dg^I^aKS-x_S^H203Q!EF##h>bKK7ShQG;0O$Q0cKt}rDfHB-GXQs1X0kO9N z0%)KogGfLO%Ah>^-LH4s8v+Le5QwJ;G>2qfSGI>4R| z)20It4B!CAnBhSvEI@z)cpwEjNTL!!z<~h>fC55f$R8>ofGSoI02J6j6t~F5E;b|} F06RJDo|gas literal 0 HcmV?d00001 -- Gitee From 73d53a7e97ebc61a4d5ae514a69dbd1396e48bab Mon Sep 17 00:00:00 2001 From: 00fly <00fly@noreply.gitcode.com> Date: Sun, 27 Oct 2024 10:08:10 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.gitignore" | 7 ++ .../pom-simple.xml" | 92 +++++++++++++++++++ .../pom.xml" | 29 +++++- .../java/com/fly/procode/core/Service.java" | 13 ++- .../com/fly/procode/ui/ProCodeToolSJ.java" | 25 +++-- .../fly/procode/ui/ProCodeToolSimple.java" | 18 ++-- 6 files changed, 160 insertions(+), 24 deletions(-) create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/.gitignore" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom-simple.xml" rename "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolFrame.java" => "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSimple.java" (90%) diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/.gitignore" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/.gitignore" new file mode 100644 index 0000000..9ac5367 --- /dev/null +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/.gitignore" @@ -0,0 +1,7 @@ +target/ +logs/ +.classpath +.project +.settings +.factorypath +upload/ \ No newline at end of file diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom-simple.xml" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom-simple.xml" new file mode 100644 index 0000000..659c667 --- /dev/null +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom-simple.xml" @@ -0,0 +1,92 @@ + + 4.0.0 + com.fly + procode-simple + 0.0.1 + jar + procode + http://maven.apache.org + + 1.8 + UTF-8 + + + + + org.eclipse.platform + org.eclipse.swt.win32.win32.x86_64 + 3.112.0 + + + org.eclipse.platform + org.eclipse.swt.gtk.linux.aarch64 + + + org.eclipse.platform + org.eclipse.swt.gtk.linux.arm + + + + + + org.eclipse.platform + org.eclipse.jface + 3.17.0 + + + org.eclipse.platform + org.eclipse.swt + + + + + org.eclipse.platform + org.eclipse.equinox.common + 3.11.0 + + + org.eclipse.platform + org.eclipse.core.commands + 3.9.800 + + + + + + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + maven-assembly-plugin + 3.5.0 + + false + + + com.fly.procode.ui.ProCodeToolSimple + + + + + jar-with-dependencies + + + + + make-assembly + package + + single + + + + + + + \ No newline at end of file diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom.xml" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom.xml" index f8bfd13..62cd90e 100644 --- "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom.xml" +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/pom.xml" @@ -4,7 +4,7 @@ 4.0.0 com.fly procode - 0.0.1-SNAPSHOT + 0.0.1 jar procode http://maven.apache.org @@ -56,12 +56,37 @@ maven-compiler-plugin - 3.7.0 + 3.8.1 1.8 1.8 + + maven-assembly-plugin + 3.5.0 + + false + + + com.fly.procode.ui.ProCodeToolSJ + + + + + jar-with-dependencies + + + + + make-assembly + package + + single + + + + diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/Service.java" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/Service.java" index d6da27f..13ee0d3 100644 --- "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/Service.java" +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/core/Service.java" @@ -99,6 +99,10 @@ public class Service extends Observable } else if (f1.isFile()) { + if (f1.getPath().contains("\\target\\")) + { + return; + } if (isExtraFile(f1.getName(), fileFilter)) { setChanged(); @@ -170,17 +174,16 @@ public class Service extends Observable public void createSourceFile(String bakFile, String dir) { File f = new File(bakFile); - String separator = System.getProperty("file.separator"); - int beginIndex = bakFile.lastIndexOf(separator) + 1; + int beginIndex = bakFile.lastIndexOf(File.separator) + 1; int endIndex = bakFile.indexOf("_"); String t; if (endIndex > 0) { - t = bakFile.substring(beginIndex, endIndex) + separator; + t = bakFile.substring(beginIndex, endIndex) + File.separator; } else { - t = bakFile.substring(beginIndex, bakFile.indexOf(".")) + separator; + t = bakFile.substring(beginIndex, bakFile.indexOf(".")) + File.separator; } dir = dir + t; List list = getFiletext(f.getPath()); @@ -198,7 +201,7 @@ public class Service extends Observable } // creat new file int pos = text.indexOf("//goto ") + 7; - File file = new File(dir + text.substring(pos)); + File file = new File(dir + text.substring(pos).replace("\\", File.separator)); file.getParentFile().mkdirs(); OutputStream os = new FileOutputStream(file); writer = new BufferedWriter(new OutputStreamWriter(os, "8859_1"), 8192); diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSJ.java" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSJ.java" index 49d54b0..e096ed7 100644 --- "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSJ.java" +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSJ.java" @@ -7,6 +7,7 @@ import java.io.InputStream; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; +import java.util.stream.IntStream; import org.eclipse.jface.dialogs.IInputValidator; import org.eclipse.jface.dialogs.InputDialog; @@ -149,7 +150,9 @@ public class ProCodeToolSJ @Override public void widgetSelected(SelectionEvent event) { - MessageDialog.openInformation(shell, "使用指南", "请按以下顺序操作:" + "\n 文件备份" + "\n 1. 选择项目源文件的目录。" + "\n 2. 选择需要备份的文件类型。" + "\n 3. 选择备份文件输出目录。" + "\n 4. 导出文件。" + "\n " + "\n 文件恢复 " + "\n 1. 到备份目录下选择备份文件。" + "\n 2. 选择备份文件的恢复目录。" + "\n 3. 恢复文件"); + MessageDialog.openInformation(shell, + "使用指南", + "请按以下顺序操作:" + "\n 文件备份" + "\n 1. 选择项目源文件的目录。" + "\n 2. 选择需要备份的文件类型。" + "\n 3. 选择备份文件输出目录。" + "\n 4. 导出文件。" + "\n " + "\n 文件恢复 " + "\n 1. 到备份目录下选择备份文件。" + "\n 2. 选择备份文件的恢复目录。" + "\n 3. 恢复文件"); } }); aboutMenuItem.addSelectionListener(new SelectionAdapter() @@ -157,7 +160,7 @@ public class ProCodeToolSJ @Override public void widgetSelected(SelectionEvent event) { - MessageDialog.openInformation(shell, "关于本工具", "代码备份恢复工具。\n\nkailin 于2010年5月。"); + MessageDialog.openInformation(shell, "关于本工具", "代码备份恢复工具。\n\n00fly 于2010年5月。"); } }); shell.setMenuBar(m); @@ -187,14 +190,14 @@ public class ProCodeToolSJ super(c, style); Label sourceLabel = new Label(this, SWT.NONE); sourceLabel.setText("项目源文件目录:"); - sourceLabel.setBounds(20, 30, 100, 18); + sourceLabel.setBounds(20, 10, 100, 18); final Text tsourcePath = new Text(this, SWT.BORDER); tsourcePath.setBackground(display.getSystemColor(SWT.COLOR_WHITE)); tsourcePath.setEditable(false); - tsourcePath.setBounds(120, 30, 300, 20); + tsourcePath.setBounds(120, 10, 300, 20); Button sourceBrowse = new Button(this, SWT.PUSH); sourceBrowse.setText("选择"); - sourceBrowse.setBounds(430, 30, 70, 20); + sourceBrowse.setBounds(430, 10, 70, 20); sourceBrowse.addSelectionListener(new SelectionAdapter() { @Override @@ -221,19 +224,21 @@ public class ProCodeToolSJ }); Label fileTypeLabel = new Label(this, SWT.NONE); fileTypeLabel.setText("源文件类型:"); - fileTypeLabel.setBounds(20, 60, 100, 18); + fileTypeLabel.setBounds(20, 40, 100, 18); listJava = new org.eclipse.swt.widgets.List(this, SWT.BORDER | SWT.V_SCROLL | SWT.SIMPLE | SWT.MULTI); - listJava.setBounds(120, 60, 120, 110); + listJava.setBounds(120, 40, 120, 128); listJava.setToolTipText("选择需要备份的源文件类型,支持多选!"); - String[] fileTypes = {".java", ".xml", ".yml", ".properties", ".sql"}; + String[] fileTypes = {".java", ".xml", ".yml", ".yaml", ".properties", ".sql", "Dockerfile"}; listJava.setItems(fileTypes); + IntStream.range(0, fileTypes.length).forEach(index -> listJava.select(index)); listPage = new org.eclipse.swt.widgets.List(this, SWT.BORDER | SWT.V_SCROLL | SWT.SIMPLE | SWT.MULTI); - listPage.setBounds(280, 60, 120, 110); + listPage.setBounds(280, 40, 120, 128); listPage.setToolTipText("选择需要备份的源文件类型,支持多选!"); - String[] fileTypes2 = {".html", ".js", ".css", ".vue", ".jsp"}; + String[] fileTypes2 = {".htm", ".html", ".json", ".js", ".css", ".vue", ".jsp", ".sh"}; listPage.setItems(fileTypes2); + IntStream.range(0, fileTypes2.length).forEach(index -> listPage.select(index)); Label pwdLabel = new Label(this, SWT.NONE); pwdLabel.setText("可选项:"); diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolFrame.java" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSimple.java" similarity index 90% rename from "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolFrame.java" rename to "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSimple.java" index e6531c5..243b29c 100644 --- "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolFrame.java" +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/src/main/java/com/fly/procode/ui/ProCodeToolSimple.java" @@ -22,20 +22,20 @@ import javax.swing.UIManager; /** * - * 工具UI简化版本 + * 工具UI简化版本,Swing技术实现 * * @author 00fly * @version [版本号, 2023年3月3日] * @see [相关类/方法] * @since [产品/模块版本] */ -public class ProCodeToolFrame extends JFrame +public class ProCodeToolSimple extends JFrame { private static final long serialVersionUID = -2145267777297657212L; JFrame frame = this; - public ProCodeToolFrame() + public ProCodeToolSimple() { initComponent(); this.setVisible(true); @@ -62,7 +62,7 @@ public class ProCodeToolFrame extends JFrame */ private void initComponent() { - // 加载图标 + // 加载图标 URL url = getClass().getResource("/image/icon.gif"); if (url != null) { @@ -87,7 +87,7 @@ public class ProCodeToolFrame extends JFrame { try { - String dir = new File(" ").getCanonicalPath(); + String dir = new File("" + System.currentTimeMillis()).getCanonicalPath() + File.separator; createSourceFile(textArea.getText(), dir); JOptionPane.showMessageDialog(frame, "恢复文件到目录: " + dir + " 成功!", "提示", JOptionPane.INFORMATION_MESSAGE); } @@ -107,6 +107,10 @@ public class ProCodeToolFrame extends JFrame */ private void createSourceFile(String text, String dir) { + if (text == null || text.trim().length() == 0) + { + throw new RuntimeException("输入代码不能为空"); + } String[] textArr = text.split("\n"); BufferedWriter writer = null; for (String line : textArr) @@ -122,7 +126,7 @@ public class ProCodeToolFrame extends JFrame } // creat new file int pos = line.indexOf("//goto ") + 7; - File file = new File(dir + line.substring(pos)); + File file = new File(dir + line.substring(pos).replace("\\", File.separator)); file.getParentFile().mkdirs(); OutputStream os = new FileOutputStream(file); writer = new BufferedWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8), 8192); @@ -156,6 +160,6 @@ public class ProCodeToolFrame extends JFrame public static void main(String[] args) { - SwingUtilities.invokeLater(() -> new ProCodeToolFrame()); + SwingUtilities.invokeLater(() -> new ProCodeToolSimple()); } } -- Gitee From 7499a4a2815001f9f0d478c7a68ebca5c02d2ad3 Mon Sep 17 00:00:00 2001 From: 00fly <00fly@noreply.gitcode.com> Date: Sun, 27 Oct 2024 10:44:02 +0800 Subject: [PATCH 5/9] add README.md --- .../README.md" | 31 ++++++++++++++++++ .../images/all-1.png" | Bin 0 -> 54543 bytes .../images/all-2.png" | Bin 0 -> 35324 bytes .../images/simple-1.png" | Bin 0 -> 19721 bytes .../images/simple-2.png" | Bin 0 -> 50027 bytes 5 files changed, 31 insertions(+) create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/README.md" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/all-1.png" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/all-2.png" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/simple-1.png" create mode 100644 "\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/simple-2.png" diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/README.md" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/README.md" new file mode 100644 index 0000000..3fa7875 --- /dev/null +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/README.md" @@ -0,0 +1,31 @@ +# 神奇代码恢复工具 + + +## 一、完整版神奇代码备份恢复 + +**ProCodeToolSJ 使用swt+jface技术实现** + +下载:[完整版神奇代码备份恢复工具](https://00fly.online/upload/procode-all-0.0.1.jar) + +![在这里插入图片描述](images/all-1.png#pic_center) + +![在这里插入图片描述](images/all-2.png#pic_center) + + +## 二、神奇代码恢复工具 + +**ProCodeToolSimple 使用swing技术实现** + +下载:[神奇代码恢复工具](https://00fly.online/upload/procode-simple-0.0.1.jar) + +![在这里插入图片描述](images/simple-1.png#pic_center) + +在输入框里面输入待恢复的代码,点击"开始恢复代码" 便生成原始项目结构的代码。 +![在这里插入图片描述](images/simple-2.png#pic_center) + + +# 三、使用总结 +1. 下载jar +2. 拷贝代码 +3. 粘帖代码 +4. 一键恢复 \ No newline at end of file diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/all-1.png" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/all-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..9fc1565fdd8af490d5e9d3291c1714199916259f GIT binary patch literal 54543 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 literal 0 HcmV?d00001 diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/all-2.png" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/all-2.png" new file mode 100644 index 0000000000000000000000000000000000000000..f837c5d3aee934a59db4306b31cf585038c8e121 GIT binary patch literal 35324 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 G-2VdR7U-Y= literal 0 HcmV?d00001 diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/simple-1.png" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/simple-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..9cc0d0d6452c513372758da0e508a8dd8cb9409c GIT binary patch literal 19721 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

n9Mj}A| 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 literal 0 HcmV?d00001 diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/simple-2.png" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/images/simple-2.png" new file mode 100644 index 0000000000000000000000000000000000000000..b9614bda35dec477c6e2dc665a95c5af370ecb79 GIT binary patch literal 50027 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

J#}iXBwUGQv4jU`X|X{6Fk_dy%G?Z-;-i z(N)9Pit7oBbQnYy>ti0&bqJH|I~?@Ra{VKe2G*gkKyeVYd!nws5EIvtv(?G!hODeT z`>W}_K_(N&_cR0EmZ#ek$^f%+V8I%^;2}qj z12?p8HC?gX-tqwj?8{I(=Q(0{CN;p`NAZ>ebbNbbeZp&hFzNZ`a5ZkRHb!DgpbV3H zqV3wZwPD4#rJ`D4pnv)>dZBQ^POOG<4tbgHN@5L5viH*4r{d#atT42rBJ!X3361Sp zcO%dmS*JJ4Z8c_Iu6@7nRJq}+hW%3VhuS)w&tKonWhvMiDZy7W({=B7Qv^Bxw;vKWRtoT%wAvewDg*c1yu?_i1?>fxy)R|#OhCN6dg+Ls>@b{ckZz_m2 zu*_hann8ksSZbljiY{Dmey0+mmFCZi>@qrRSg`kj<9z9aAv%-5Q?k|qaB17EZ<46d zHa#`(sD2UFTysQz){=DOTr&l}{Dg@vJ63Qqjse+;Ns;SAJ+`M%{h`KgM6E1fKo-gg z{1C=Ee8o$!SEkvc}0Y{ySh#Nme{*?rak-~cOhOR z{WgA-e$kbh`@UN-Cx4+lGTzJPcg!16Foku44pI!eJYMA`vbiPcahd?3>qc~pFzrBsMqAk zp+vuHuOSxBip-7(n5(Sa19E-#`w#okJpYlf3hz(PB<>a_UWxG8 z$4p+i<3}y$+7j=!t=Po2T?l8$ajz`4UxlGw8eieKm3K_KdsVpJM8Sz?{L}F zyZZ}uvFPKQ`Tkk;_801X7uop`(PgkSNR~7>S3EeEQre7PUS4U%*yNm5*fOU6>P6U` zVkN6YG_Nd)08$C_*x?;UgGVLtj+P_fyw3sF?oUKBuLHv%-2C_ZQ^|`r@l Date: Sun, 27 Oct 2024 10:47:39 +0800 Subject: [PATCH 6/9] update --- .../README.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/README.md" "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/README.md" index 3fa7875..9ac0342 100644 --- "a/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/README.md" +++ "b/\347\245\236\345\245\207\344\273\243\347\240\201\346\201\242\345\244\215\345\267\245\345\205\267/README.md" @@ -5,7 +5,7 @@ **ProCodeToolSJ 使用swt+jface技术实现** -下载:[完整版神奇代码备份恢复工具](https://00fly.online/upload/procode-all-0.0.1.jar) +下载:[完整版神奇代码备份恢复工具](https://00fly.online/upload/procode-0.0.1.jar) ![在这里插入图片描述](images/all-1.png#pic_center) -- Gitee From e9eef5d7a1cc0eda4f37970678949a5b0659add6 Mon Sep 17 00:00:00 2001 From: 00fly <00fly@noreply.gitcode.com> Date: Mon, 28 Oct 2024 19:07:13 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=F0=9F=90=9F=EF=B8=8F=E6=8A=80=E6=9C=AF?= =?UTF-8?q?=E6=91=B8=E9=B1=BC=EF=BC=88=E6=97=B6=E9=9A=90=E6=97=B6=E7=8E=B0?= =?UTF-8?q?=E7=9A=84=E5=9B=BE=E7=89=87+=E4=B8=8D=E6=96=AD=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=9A=84=E5=9B=BE=E7=89=87+=E9=9A=8F=E6=9C=BA?= =?UTF-8?q?=E6=B8=B8=E8=B5=B0=E7=9A=84=E9=BC=A0=E6=A0=87+=E9=9A=8F?= =?UTF-8?q?=E6=9C=BA=E6=89=93=E5=BC=80=E6=B5=8F=E8=A7=88=E5=99=A8=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml" | 134 ++++++++++++++++++ .../java/com/fly/demo/ui/ImageDispose.java" | 58 ++++++++ .../main/java/com/fly/demo/ui/ImageMove.java" | 81 +++++++++++ .../main/java/com/fly/demo/ui/MouseRun.java" | 57 ++++++++ .../java/com/fly/demo/ui/OpenBrowse.java" | 82 +++++++++++ .../com/fly/demo/ui/base/ImageDialog.java" | 46 ++++++ .../com/fly/demo/ui/base/ImageUtils.java" | 88 ++++++++++++ .../src/main/resources/images/002.jpeg" | Bin 0 -> 152082 bytes .../src/main/resources/images/160951.png" | Bin 0 -> 78047 bytes .../src/main/resources/images/urls.txt" | 3 + .../src/main/resources/log4j2.xml" | 13 ++ .../src/main/resources/urls" | 6 + 12 files changed, 568 insertions(+) create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/pom.xml" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/ImageDispose.java" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/ImageMove.java" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/MouseRun.java" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/OpenBrowse.java" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageDialog.java" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageUtils.java" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/images/002.jpeg" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/images/160951.png" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/images/urls.txt" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/log4j2.xml" create mode 100644 "\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/urls" diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/pom.xml" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/pom.xml" new file mode 100644 index 0000000..7fadd08 --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/pom.xml" @@ -0,0 +1,134 @@ + + + 4.0.0 + com.fly + offline-work + 1.0.0 + jar + + UTF-8 + 1.8 + true + + + + + org.springframework + spring-core + 5.3.18 + + + + com.konghq + unirest-java + 3.14.1 + + + org.apache.logging.log4j + log4j-slf4j-impl + 2.12.1 + + + org.apache.commons + commons-lang3 + 3.5 + + + commons-io + commons-io + 2.5 + + + org.projectlombok + lombok + 1.18.12 + provided + + + junit + junit + 4.12 + test + + + + ${project.artifactId}-${project.version} + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.2 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/lib + lombok + runtime + + + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + 3.5.0 + + false + + + com.fly.demo.ui.ImageDispose + + + + + jar-with-dependencies + + + + + make-assembly + package + + single + + + + + + + + src/main/java + + **/*.java + + + + src/main/resources + + **/** + + false + + + + diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/ImageDispose.java" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/ImageDispose.java" new file mode 100644 index 0000000..0fa48ce --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/ImageDispose.java" @@ -0,0 +1,58 @@ +package com.fly.demo.ui; + +import java.awt.AWTException; +import java.awt.Robot; +import java.awt.event.KeyEvent; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +import org.apache.commons.lang3.RandomUtils; + +import com.fly.demo.ui.base.ImageDialog; +import com.fly.demo.ui.base.ImageUtils; + +import lombok.extern.slf4j.Slf4j; + +/** + * + * 时隐时现的图片 + * + * @author 00fly + * @version [版本号, 2023年3月3日] + * @see [相关类/方法] + * @since [产品/模块版本] + */ +@Slf4j +public class ImageDispose +{ + /** + * 打开图片后延时销毁 + * + */ + private static void openImage() + { + try + { + ImageDialog dialog = new ImageDialog(ImageUtils.getRandomImage()); + + // 移动鼠标 + Robot myRobot = new Robot(); + myRobot.mouseMove(dialog.getX() + RandomUtils.nextInt(0, dialog.getWidth()), dialog.getY() + RandomUtils.nextInt(0, dialog.getHeight())); + + // 模拟按下鼠标左键后释放 + myRobot.mousePress(KeyEvent.BUTTON1_DOWN_MASK); + myRobot.mouseRelease(KeyEvent.BUTTON1_DOWN_MASK); + TimeUnit.SECONDS.sleep(8); + dialog.dispose(); + } + catch (AWTException | InterruptedException e) + { + log.error(e.getMessage(), e); + } + } + + public static void main(String[] args) + { + Executors.newScheduledThreadPool(2).scheduleAtFixedRate(ImageDispose::openImage, 2, 10, TimeUnit.SECONDS); + } +} diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/ImageMove.java" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/ImageMove.java" new file mode 100644 index 0000000..d2126aa --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/ImageMove.java" @@ -0,0 +1,81 @@ +package com.fly.demo.ui; + +import java.awt.AWTException; +import java.awt.Dimension; +import java.awt.Robot; +import java.awt.event.KeyEvent; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +import javax.swing.WindowConstants; + +import org.apache.commons.lang3.RandomUtils; + +import com.fly.demo.ui.base.ImageDialog; +import com.fly.demo.ui.base.ImageUtils; + +import lombok.extern.slf4j.Slf4j; + +/** + * + * 不断移动的图片 + * + * @author 00fly + * @version [版本号, 2023年3月3日] + * @see [相关类/方法] + * @since [产品/模块版本] + */ +@Slf4j +public class ImageMove +{ + private static ImageDialog dialog; + + private static Robot myRobot; + + static + { + openImage(); + } + + /** + * 打开图片 + * + */ + private static void openImage() + { + try + { + dialog = new ImageDialog(ImageUtils.getRandomImage()); + dialog.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); + myRobot = new Robot(); + } + catch (AWTException e) + { + log.error(e.getMessage(), e); + } + } + + /** + * 位置移动,鼠标移动、点击 + */ + private static void move() + { + Dimension screenSize = dialog.getToolkit().getScreenSize(); + Dimension dialogSize = dialog.getSize(); + dialogSize.height = Math.min(screenSize.height, dialogSize.height); + dialogSize.width = Math.min(screenSize.width, dialogSize.width); + dialog.setLocation(RandomUtils.nextInt(0, screenSize.width - dialogSize.height), RandomUtils.nextInt(0, screenSize.height - dialogSize.width)); + dialog.setVisible(true); // 重新显示 + + // 移动鼠标 + myRobot.mouseMove(dialog.getX() + RandomUtils.nextInt(0, dialog.getWidth()), dialog.getY() + RandomUtils.nextInt(0, dialog.getHeight())); + // 模拟按下鼠标左键后释放 + myRobot.mousePress(KeyEvent.BUTTON1_DOWN_MASK); + myRobot.mouseRelease(KeyEvent.BUTTON1_DOWN_MASK); + } + + public static void main(String[] args) + { + Executors.newScheduledThreadPool(2).scheduleAtFixedRate(ImageMove::move, 2, 10, TimeUnit.SECONDS); + } +} diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/MouseRun.java" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/MouseRun.java" new file mode 100644 index 0000000..55ff6e5 --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/MouseRun.java" @@ -0,0 +1,57 @@ +package com.fly.demo.ui; + +import java.awt.AWTException; +import java.awt.Dimension; +import java.awt.MouseInfo; +import java.awt.Point; +import java.awt.Robot; +import java.awt.Toolkit; +import java.awt.event.KeyEvent; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +import org.apache.commons.lang3.RandomUtils; + +import lombok.extern.slf4j.Slf4j; + +/** + * 随机游走的鼠标 + */ +@Slf4j +public class MouseRun +{ + private static Robot robot; + + static + { + try + { + robot = new Robot(); + } + catch (AWTException e) + { + log.error(e.getMessage(), e); + } + } + + /** + * 位置移动,鼠标移动、点击 + */ + private static void move() + { + // 模拟按下鼠标左键后释放 + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + robot.mouseMove(RandomUtils.nextInt(0, screenSize.width), RandomUtils.nextInt(0, screenSize.height)); + robot.mousePress(KeyEvent.BUTTON1_DOWN_MASK); + robot.mouseRelease(KeyEvent.BUTTON1_DOWN_MASK); + + // 打印坐标 + Point point = MouseInfo.getPointerInfo().getLocation(); + log.info("position: {},{}", point.getX(), point.getY()); + } + + public static void main(String[] args) + { + Executors.newScheduledThreadPool(2).scheduleAtFixedRate(MouseRun::move, 2, 10, TimeUnit.SECONDS); + } +} diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/OpenBrowse.java" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/OpenBrowse.java" new file mode 100644 index 0000000..280c61c --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/OpenBrowse.java" @@ -0,0 +1,82 @@ +package com.fly.demo.ui; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.util.List; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.RandomUtils; +import org.apache.commons.lang3.SystemUtils; +import org.springframework.core.io.ClassPathResource; + +import lombok.extern.slf4j.Slf4j; + +/** + * 随机打开网址延时关闭的浏览器 + */ +@Slf4j +public class OpenBrowse +{ + private static List urls; + + /** + * 初始化 + */ + static + { + try + { + urls = IOUtils.readLines(new ClassPathResource("urls").getInputStream(), Charset.defaultCharset()); + } + catch (IOException e) + { + log.error(e.getMessage(), e); + } + } + + /** + * 随机打开网址延时关闭 + */ + public static void openThenClose() + { + if (SystemUtils.IS_OS_WINDOWS) + { + urls.stream().filter(url -> RandomUtils.nextBoolean()).forEach(OpenBrowse::open); + try + { + TimeUnit.SECONDS.sleep(RandomUtils.nextInt(5, 20)); + Runtime.getRuntime().exec("taskkill /F /IM chrome.exe"); + Runtime.getRuntime().exec("taskkill /F /IM msedge.exe"); + Runtime.getRuntime().exec("taskkill /F /IM iexplorer.exe"); + } + catch (InterruptedException | IOException e) + { + log.error(e.getMessage(), e); + } + } + } + + /** + * 打开网址 + * + * @param url + */ + private static void open(String url) + { + try + { + Runtime.getRuntime().exec("cmd /c start /min " + url); + } + catch (IOException e) + { + log.error(e.getMessage(), e); + } + } + + public static void main(String[] args) + { + Executors.newScheduledThreadPool(2).scheduleAtFixedRate(() -> openThenClose(), 2, 10, TimeUnit.SECONDS); + } +} diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageDialog.java" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageDialog.java" new file mode 100644 index 0000000..67fe023 --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageDialog.java" @@ -0,0 +1,46 @@ +package com.fly.demo.ui.base; + +import java.awt.Dimension; +import java.awt.image.BufferedImage; + +import javax.swing.ImageIcon; +import javax.swing.JDialog; +import javax.swing.JLabel; + +import org.apache.commons.lang3.RandomUtils; + +public class ImageDialog extends JDialog +{ + private static final long serialVersionUID = -4922215816711409008L; + + private boolean hidden = true; + + public ImageDialog(BufferedImage image) + { + super(); + if (hidden) // 隐藏标题 + { + setUndecorated(true); + setSize(image.getWidth(), image.getHeight()); + } + else + { + setTitle("图片"); + setSize(image.getWidth(), image.getHeight() + 30); + } + Dimension screenSize = getToolkit().getScreenSize(); + Dimension dialogSize = getSize(); + dialogSize.height = Math.min(screenSize.height, dialogSize.height); + dialogSize.width = Math.min(screenSize.width, dialogSize.width); + + // 居中显示或随机 + // setLocation((screenSize.width - dialogSize.width) / 2, (screenSize.height - dialogSize.height) / 2); + setLocation(RandomUtils.nextInt(0, screenSize.width - dialogSize.height), RandomUtils.nextInt(0, screenSize.height - dialogSize.width)); + add(new JLabel(new ImageIcon(image))); + setVisible(true); + setResizable(false); + setAlwaysOnTop(true); + setDefaultCloseOperation(DISPOSE_ON_CLOSE); + } + +} diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageUtils.java" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageUtils.java" new file mode 100644 index 0000000..ec37526 --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageUtils.java" @@ -0,0 +1,88 @@ +package com.fly.demo.ui.base; + +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.nio.charset.Charset; +import java.util.List; +import java.util.stream.Collectors; + +import javax.imageio.ImageIO; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.RandomUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import org.springframework.core.io.UrlResource; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class ImageUtils +{ + private static Resource[] resources; + + static + { + try + { + resources = getResources(); + log.info("resources.length: {}", resources.length); + } + catch (IOException e) + { + log.error(e.getMessage(), e); + } + } + + /** + * 获取全部图片资源 + * + * @return + * @throws IOException + * @see [类、类#方法、类#成员] + */ + private static Resource[] getResources() + throws IOException + { + Resource[] jpegs = new PathMatchingResourcePatternResolver().getResources("classpath:images/*.jpeg"); + Resource[] pngs = new PathMatchingResourcePatternResolver().getResources("classpath:images/*.png"); + List urlResources = IOUtils.readLines(new ClassPathResource("images/urls.txt").getInputStream(), Charset.defaultCharset()).stream().filter(StringUtils::isNotBlank).map(url -> { + try + { + return new UrlResource(url); + } + catch (MalformedURLException e) + { + log.error(e.getMessage(), e); + return null; + } + }).filter(r -> r != null).collect(Collectors.toList()); + + // 本地与Url图片资源合并 + return ArrayUtils.addAll(ArrayUtils.addAll(jpegs, pngs), urlResources.toArray(new Resource[0])); + } + + /** + * 返回随机图片 + * + * @return + */ + public static BufferedImage getRandomImage() + { + int index = RandomUtils.nextInt(0, resources.length); + try (InputStream is = resources[index].getInputStream()) + { + return ImageIO.read(is); + } + catch (IOException e) + { + log.error(e.getMessage(), e); + return null; + } + } +} \ No newline at end of file diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/images/002.jpeg" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/images/002.jpeg" new file mode 100644 index 0000000000000000000000000000000000000000..a419123f71147f55ec134fc77c55954f016d6ab3 GIT binary patch literal 152082 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 B!Y=>- literal 0 HcmV?d00001 diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/images/urls.txt" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/images/urls.txt" new file mode 100644 index 0000000..bc6953c --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/images/urls.txt" @@ -0,0 +1,3 @@ +https://00fly.online/upload/2019/02/201902272038150239qlgjm.jpg +https://00fly.online/upload/2019/02/201902262129360274AKuFZcUfip.jpg +https://i-blog.csdnimg.cn/blog_migrate/69bdffecb31079249c66affe553b6f4a.jpeg \ No newline at end of file diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/log4j2.xml" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/log4j2.xml" new file mode 100644 index 0000000..11f0020 --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/log4j2.xml" @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/urls" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/urls" new file mode 100644 index 0000000..6109d54 --- /dev/null +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/resources/urls" @@ -0,0 +1,6 @@ +https://00fly.online/upload/2019/02/201902272038150239qlgjm.jpg +https://00fly.online/upload/2019/02/201902262129360274AKuFZcUfip.jpg +https://i-blog.csdnimg.cn/blog_migrate/69bdffecb31079249c66affe553b6f4a.jpeg +https://www.so.com +https://www.baidu.com +https://gitee.com/00fly/ \ No newline at end of file -- Gitee From be58592e50eedb6978951f816ec8404da0678fa6 Mon Sep 17 00:00:00 2001 From: 00fly <00fly@noreply.gitcode.com> Date: Tue, 29 Oct 2024 08:48:01 +0800 Subject: [PATCH 8/9] =?UTF-8?q?use=EF=BC=9A=20try=20with=20resource?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fly/demo/ui/OpenBrowse.java" | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/OpenBrowse.java" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/OpenBrowse.java" index 280c61c..44f16d8 100644 --- "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/OpenBrowse.java" +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/OpenBrowse.java" @@ -1,6 +1,7 @@ package com.fly.demo.ui; import java.io.IOException; +import java.io.InputStream; import java.nio.charset.Charset; import java.util.List; import java.util.concurrent.Executors; @@ -26,9 +27,9 @@ public class OpenBrowse */ static { - try + try (InputStream is = new ClassPathResource("urls").getInputStream()) { - urls = IOUtils.readLines(new ClassPathResource("urls").getInputStream(), Charset.defaultCharset()); + urls = IOUtils.readLines(is, Charset.defaultCharset()); } catch (IOException e) { -- Gitee From de83eedf050acb2941db4e3b7fba22fa69b3efa9 Mon Sep 17 00:00:00 2001 From: 00fly <00fly@noreply.gitcode.com> Date: Tue, 29 Oct 2024 08:53:03 +0800 Subject: [PATCH 9/9] =?UTF-8?q?use=EF=BC=9A=20try=20with=20resource?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fly/demo/ui/base/ImageUtils.java" | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageUtils.java" "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageUtils.java" index ec37526..d0c6d62 100644 --- "a/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageUtils.java" +++ "b/\360\237\220\237\357\270\217\346\212\200\346\234\257\346\221\270\351\261\274\357\274\210\346\227\266\351\232\220\346\227\266\347\216\260\347\232\204\345\233\276\347\211\207+\344\270\215\346\226\255\347\247\273\345\212\250\347\232\204\345\233\276\347\211\207+\351\232\217\346\234\272\346\270\270\350\265\260\347\232\204\351\274\240\346\240\207+\351\232\217\346\234\272\346\211\223\345\274\200\346\265\217\350\247\210\345\231\250\357\274\211/src/main/java/com/fly/demo/ui/base/ImageUtils.java" @@ -49,22 +49,25 @@ public class ImageUtils private static Resource[] getResources() throws IOException { - Resource[] jpegs = new PathMatchingResourcePatternResolver().getResources("classpath:images/*.jpeg"); - Resource[] pngs = new PathMatchingResourcePatternResolver().getResources("classpath:images/*.png"); - List urlResources = IOUtils.readLines(new ClassPathResource("images/urls.txt").getInputStream(), Charset.defaultCharset()).stream().filter(StringUtils::isNotBlank).map(url -> { - try - { - return new UrlResource(url); - } - catch (MalformedURLException e) - { - log.error(e.getMessage(), e); - return null; - } - }).filter(r -> r != null).collect(Collectors.toList()); - - // 本地与Url图片资源合并 - return ArrayUtils.addAll(ArrayUtils.addAll(jpegs, pngs), urlResources.toArray(new Resource[0])); + try (InputStream is = new ClassPathResource("images/urls.txt").getInputStream()) + { + List urlResources = IOUtils.readLines(is, Charset.defaultCharset()).stream().filter(StringUtils::isNotBlank).map(url -> { + try + { + return new UrlResource(url); + } + catch (MalformedURLException e) + { + log.error(e.getMessage(), e); + return null; + } + }).filter(r -> r != null).collect(Collectors.toList()); + Resource[] jpegs = new PathMatchingResourcePatternResolver().getResources("classpath:images/*.jpeg"); + Resource[] pngs = new PathMatchingResourcePatternResolver().getResources("classpath:images/*.png"); + + // 本地与Url图片资源合并 + return ArrayUtils.addAll(ArrayUtils.addAll(jpegs, pngs), urlResources.toArray(new Resource[0])); + } } /** -- Gitee