From 490466deba5f47217349c97bba446840cffc5d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Tue, 8 Jun 2021 18:10:28 +0800 Subject: [PATCH 01/19] aio --- .../java/com/lin/io/aio/Asynchronous.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/main/java/com/lin/io/aio/Asynchronous.java diff --git a/src/main/java/com/lin/io/aio/Asynchronous.java b/src/main/java/com/lin/io/aio/Asynchronous.java new file mode 100644 index 0000000..3478f9a --- /dev/null +++ b/src/main/java/com/lin/io/aio/Asynchronous.java @@ -0,0 +1,26 @@ +package com.lin.io.aio; + +import java.io.File; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.AsynchronousFileChannel; +import java.nio.file.OpenOption; +import java.nio.file.StandardOpenOption; +import java.util.concurrent.Future; + +/** + * @author 九分石人 + */ +public class Asynchronous { + + + public static void main(String[] args) throws IOException { + File file = new File("D:\\util\\BingWallpaper.jpg"); + OpenOption options = StandardOpenOption.READ; + AsynchronousFileChannel asynchronousFileChannel = AsynchronousFileChannel.open(file.toPath(), options); + ByteBuffer buffer = ByteBuffer.allocate(1024); + Future read = asynchronousFileChannel.read(buffer, 1); + } + + +} -- Gitee From 8fa2476c961286568ddb049d7a02d6da31419648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Wed, 9 Jun 2021 18:37:24 +0800 Subject: [PATCH 02/19] aio --- src/main/java/com/lin/io/aio/Asynchronous.java | 11 +++++++++-- src/main/java/com/lin/io/nio/Channel.java | 5 +---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/lin/io/aio/Asynchronous.java b/src/main/java/com/lin/io/aio/Asynchronous.java index 3478f9a..ff22363 100644 --- a/src/main/java/com/lin/io/aio/Asynchronous.java +++ b/src/main/java/com/lin/io/aio/Asynchronous.java @@ -1,7 +1,6 @@ package com.lin.io.aio; -import java.io.File; -import java.io.IOException; +import java.io.*; import java.nio.ByteBuffer; import java.nio.channels.AsynchronousFileChannel; import java.nio.file.OpenOption; @@ -20,6 +19,14 @@ public class Asynchronous { AsynchronousFileChannel asynchronousFileChannel = AsynchronousFileChannel.open(file.toPath(), options); ByteBuffer buffer = ByteBuffer.allocate(1024); Future read = asynchronousFileChannel.read(buffer, 1); + + try (InputStream inputStream = new FileInputStream(file)) { + InputStreamReader inputStreamReader = new InputStreamReader(inputStream); + BufferedReader bufferedReader = new BufferedReader(inputStreamReader); + StringReader stringReader = new StringReader("1"); + } + + } diff --git a/src/main/java/com/lin/io/nio/Channel.java b/src/main/java/com/lin/io/nio/Channel.java index a8d0875..1a07f06 100644 --- a/src/main/java/com/lin/io/nio/Channel.java +++ b/src/main/java/com/lin/io/nio/Channel.java @@ -1,9 +1,6 @@ package com.lin.io.nio; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; +import java.io.*; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; -- Gitee From eb8058d221de1f53ea7989a657715f46384cc26c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Thu, 10 Jun 2021 10:52:34 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/io/bio/Stream.java | 8 ++-- .../java/com/lin/localhost/FileRename.java | 46 +++++++++++++++++++ 2 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 src/test/java/com/lin/localhost/FileRename.java diff --git a/src/main/java/com/lin/io/bio/Stream.java b/src/main/java/com/lin/io/bio/Stream.java index 3217363..19a0644 100644 --- a/src/main/java/com/lin/io/bio/Stream.java +++ b/src/main/java/com/lin/io/bio/Stream.java @@ -1,9 +1,9 @@ package com.lin.io.bio; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; +import org.apache.commons.io.IOUtils; +import org.apache.commons.io.input.ReaderInputStream; + +import java.io.*; /** * @author 九分石人 diff --git a/src/test/java/com/lin/localhost/FileRename.java b/src/test/java/com/lin/localhost/FileRename.java new file mode 100644 index 0000000..07cc814 --- /dev/null +++ b/src/test/java/com/lin/localhost/FileRename.java @@ -0,0 +1,46 @@ +package com.lin.localhost; + +import com.alibaba.fastjson.JSONObject; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; + +public class FileRename { + + + public static void fileRename(File file) throws IOException { + if (file.exists()) { + if (file.isDirectory()) { + File[] files = file.listFiles(); + for (File f : files) { + fileRename(f); + } + } + if (file.isFile()) { + String name = file.getName(); + if (name.endsWith(".mp4")) + { + String parent = file.getParent(); + System.out.println(parent); + String[] s = name.split("_"); + File file1 = new File(parent + "/" + s[0] + ".info"); + FileReader reader = new FileReader(file1); + BufferedReader bufferedReader = new BufferedReader(reader); + String s1 = bufferedReader.readLine(); + JSONObject jsonObject = JSONObject.parseObject(s1); + String title = (String) jsonObject.get("Title"); + file.renameTo(new File(parent + File.separator + title + ".mp4")); + } + } + } + + + } + + public static void main(String[] args) throws IOException { + fileRename(new File("D:\\新建文件夹")); + } + +} -- Gitee From 83601f1fc13045ef8da462e3dfffb683b84a3839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Fri, 18 Jun 2021 17:29:45 +0800 Subject: [PATCH 04/19] CountDownLatchTest --- .../com/lin/pdfutil/MultiPdfToOnePdfUtil.java | 2 + .../CountDownLatchTest.java | 54 +++++++++++++++++++ .../com/lin/TestPdfUtil/MultiToOneTest.java | 38 ++++++++----- 3 files changed, 82 insertions(+), 12 deletions(-) create mode 100644 src/test/java/com/lin/TestCountDownLatch/CountDownLatchTest.java diff --git a/src/main/java/com/lin/pdfutil/MultiPdfToOnePdfUtil.java b/src/main/java/com/lin/pdfutil/MultiPdfToOnePdfUtil.java index e842e47..5df9fad 100644 --- a/src/main/java/com/lin/pdfutil/MultiPdfToOnePdfUtil.java +++ b/src/main/java/com/lin/pdfutil/MultiPdfToOnePdfUtil.java @@ -97,6 +97,7 @@ public class MultiPdfToOnePdfUtil { PdfCopy copy = new PdfCopy(document, bos); document.open(); // 取出单个PDF的数据 + int count = 0; for (byte[] bs : bytes) { PdfReader reader = new PdfReader(bs); int pageTotal = reader.getNumberOfPages(); @@ -107,6 +108,7 @@ public class MultiPdfToOnePdfUtil { copy.addPage(page); } reader.close(); + log.info("已完成的pdf ==> {}",++count); } document.close(); byte[] pdfs = bos.toByteArray(); diff --git a/src/test/java/com/lin/TestCountDownLatch/CountDownLatchTest.java b/src/test/java/com/lin/TestCountDownLatch/CountDownLatchTest.java new file mode 100644 index 0000000..c4fc97d --- /dev/null +++ b/src/test/java/com/lin/TestCountDownLatch/CountDownLatchTest.java @@ -0,0 +1,54 @@ +package com.lin.TestCountDownLatch; + + +import org.junit.Test; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ThreadLocalRandom; + +public class CountDownLatchTest { + + @Test + public void testone() throws InterruptedException { + CountDownLatch countDownLatch = new CountDownLatch(1); + for (int i = 0; i < 5; i++) { + new Thread(() -> { + try { + //准备完毕……运动员都阻塞在这,等待号令 + countDownLatch.await(); + String parter = "【" + Thread.currentThread().getName() + ",时间:" + System.currentTimeMillis() + "】"; + System.out.println(parter + "开始执行……"); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }).start(); + } + + Thread.sleep(2000); + System.out.println("发令开始....."); + countDownLatch.countDown(); + } + + + @Test + public void testtwo() throws InterruptedException { + CountDownLatch countDownLatch = new CountDownLatch(5); + for (int i = 0; i < 5; i++) { + final int index = i; + new Thread(() -> { + try { + Thread.sleep(1000 + ThreadLocalRandom.current().nextInt(1000)); + System.out.println("finish," + index + "," + Thread.currentThread().getName()); + countDownLatch.countDown(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }).start(); + } + // 主线程在阻塞,当计数器==0,就唤醒主线程往下执行 + countDownLatch.await(); + System.out.println("主线程:在所有任务运行完成后,进行结果汇总"); + } + + +} diff --git a/src/test/java/com/lin/TestPdfUtil/MultiToOneTest.java b/src/test/java/com/lin/TestPdfUtil/MultiToOneTest.java index ab0376b..7fdf69b 100644 --- a/src/test/java/com/lin/TestPdfUtil/MultiToOneTest.java +++ b/src/test/java/com/lin/TestPdfUtil/MultiToOneTest.java @@ -5,8 +5,11 @@ import com.lin.pdfutil.MultiPdfToOnePdfUtil; import com.lin.util.FileWriteUtil; import org.junit.Test; -import java.io.*; -import java.util.ArrayList; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.LinkedList; import java.util.List; /** @@ -28,20 +31,31 @@ public class MultiToOneTest { @Test public void testTwo() throws IOException, DocumentException { - FileInputStream in = new FileInputStream("/Users/linqiankun/Documents/需求文件/法催3.4的副本.pdf"); - FileInputStream ins = new FileInputStream("/Users/linqiankun/Documents/需求文件/法催3.4的副本2.pdf"); - byte[] buf = new byte[in.available()]; - byte[] bufs = new byte[ins.available()]; - int read = in.read(buf); - int read1 = ins.read(bufs); +// FileInputStream in = new FileInputStream("/Users/linqiankun/Documents/需求文件/法催3.4的副本.pdf"); +// FileInputStream ins = new FileInputStream("/Users/linqiankun/Documents/需求文件/法催3.4的副本2.pdf"); +// byte[] buf = new byte[in.available()]; +// byte[] bufs = new byte[ins.available()]; +// int read = in.read(buf); +// int read1 = ins.read(bufs); - List bytes = new ArrayList<>(); - bytes.add(buf); - bytes.add(bufs); + File file = new File("D://新建文件夹3"); + boolean directory = file.isDirectory(); + List bytes = new LinkedList<>(); + if (directory) { + File[] files = file.listFiles(); + for (File f : files) { + if (f.isFile()) { + FileInputStream inputStream = new FileInputStream(f); + byte[] buf = new byte[inputStream.available()]; + int read = inputStream.read(buf); + bytes.add(buf); + } + } + } byte[] bytes1 = MultiPdfToOnePdfUtil.pdfmMix(bytes); - String pdf = "/Users/linqiankun/Documents/需求文件/1.pdf"; + String pdf = "D://3.pdf"; FileWriteUtil.canCreatFile(pdf); FileOutputStream o = new FileOutputStream(pdf); -- Gitee From a0bb12721678ff4eabad43e566d040fbdc14704b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Sun, 1 Aug 2021 02:07:25 +0800 Subject: [PATCH 05/19] FileRename --- .../java/com/lin/localhost/FileRename.java | 61 +++++++++++++++---- 1 file changed, 50 insertions(+), 11 deletions(-) diff --git a/src/test/java/com/lin/localhost/FileRename.java b/src/test/java/com/lin/localhost/FileRename.java index 07cc814..01bf85a 100644 --- a/src/test/java/com/lin/localhost/FileRename.java +++ b/src/test/java/com/lin/localhost/FileRename.java @@ -1,12 +1,14 @@ package com.lin.localhost; import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; +@Slf4j public class FileRename { @@ -20,27 +22,64 @@ public class FileRename { } if (file.isFile()) { String name = file.getName(); - if (name.endsWith(".mp4")) - { + if (name.endsWith(".mp4")) { String parent = file.getParent(); System.out.println(parent); String[] s = name.split("_"); - File file1 = new File(parent + "/" + s[0] + ".info"); - FileReader reader = new FileReader(file1); - BufferedReader bufferedReader = new BufferedReader(reader); - String s1 = bufferedReader.readLine(); - JSONObject jsonObject = JSONObject.parseObject(s1); - String title = (String) jsonObject.get("Title"); - file.renameTo(new File(parent + File.separator + title + ".mp4")); + File titlefile = new File(parent + "/" + s[0] + ".info"); + try { + FileReader reader = new FileReader(titlefile); + BufferedReader bufferedReader = new BufferedReader(reader); + String s1 = bufferedReader.readLine(); + JSONObject jsonObject = JSONObject.parseObject(s1); + String title = (String) jsonObject.get("Title"); + file.renameTo(new File(parent + File.separator + title.replaceAll("/", "-").replaceAll(" ", "") + ".mp4")); +// File newfile = new File(parent + File.separator + title.trim().replaceAll("/","-") + ".mp4"); +// newfile.createNewFile(); +// try (FileInputStream fileInputStream = new FileInputStream(file)) { +// try (FileOutputStream fileOutputStream = new FileOutputStream(newfile)) { +// byte[] bytes = new byte[1024]; +// while (fileInputStream.read(bytes) > 0) { +// fileOutputStream.write(bytes); +// } +// } +// } + } catch (Exception e) { + log.error(e.getMessage(), e); + } } } } + } - + public static void fileNameTrim(File file) throws IOException { + if (file.exists()) { + if (file.isDirectory()) { + File[] files = file.listFiles(); + for (File f : files) { + fileNameTrim(f); + } + } + if (file.isFile()) { + String name = file.getName(); + if (name.endsWith(".mp4")) { + String fileName = file.getName(); + String parent = file.getParent(); + File newfile = new File(parent + File.separator + fileName.replaceAll("/", "-").replaceAll(" ", "")); +// while (newfile.exists()) { +// String fileName2 = parent + File.separator + newfile.getName(); +// String newfileName = fileName2.substring(0, fileName2.lastIndexOf(".")) + "(1).mp4"; +// newfile = new File(newfileName); +// } + file.renameTo(newfile); + } + } + } } public static void main(String[] args) throws IOException { - fileRename(new File("D:\\新建文件夹")); +// fileRename(new File("D:\\新建文件夹")); + fileNameTrim(new File(("D:\\Videos\\BiliBliVideo"))); } } -- Gitee From 16d57b0da1806218cf36dfdfd33c46791a75d8ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Fri, 24 Sep 2021 17:33:28 +0800 Subject: [PATCH 06/19] =?UTF-8?q?BiliBili=E4=B8=8B=E8=BD=BD=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=87=8D=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/com/lin/localhost/FileRename.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/lin/localhost/FileRename.java b/src/test/java/com/lin/localhost/FileRename.java index 01bf85a..c3f94b1 100644 --- a/src/test/java/com/lin/localhost/FileRename.java +++ b/src/test/java/com/lin/localhost/FileRename.java @@ -78,8 +78,8 @@ public class FileRename { } public static void main(String[] args) throws IOException { -// fileRename(new File("D:\\新建文件夹")); - fileNameTrim(new File(("D:\\Videos\\BiliBliVideo"))); + fileRename(new File("D:\\Videos\\BiliBliVideo\\舞蹈")); +// fileNameTrim(new File(("D:\\Videos\\BiliBliVideo\\万兴素材"))); } } -- Gitee From b368b663c2383577bda8f6c2310d0e6ca90bce92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Fri, 24 Sep 2021 17:37:27 +0800 Subject: [PATCH 07/19] =?UTF-8?q?BiliBili=E4=B8=8B=E8=BD=BD=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=87=8D=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/com/lin/localhost/FileRename.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/lin/localhost/FileRename.java b/src/test/java/com/lin/localhost/FileRename.java index c3f94b1..1c6c481 100644 --- a/src/test/java/com/lin/localhost/FileRename.java +++ b/src/test/java/com/lin/localhost/FileRename.java @@ -79,7 +79,7 @@ public class FileRename { public static void main(String[] args) throws IOException { fileRename(new File("D:\\Videos\\BiliBliVideo\\舞蹈")); -// fileNameTrim(new File(("D:\\Videos\\BiliBliVideo\\万兴素材"))); + fileNameTrim(new File(("D:\\Videos\\BiliBliVideo\\万兴素材"))); } } -- Gitee From 4a4c89da2aaf553ef15f158b8eaaa04fce5fd2ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Fri, 24 Sep 2021 18:34:35 +0800 Subject: [PATCH 08/19] Bili --- src/test/java/com/lin/localhost/FileRename.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/lin/localhost/FileRename.java b/src/test/java/com/lin/localhost/FileRename.java index 1c6c481..eca45fe 100644 --- a/src/test/java/com/lin/localhost/FileRename.java +++ b/src/test/java/com/lin/localhost/FileRename.java @@ -78,8 +78,8 @@ public class FileRename { } public static void main(String[] args) throws IOException { - fileRename(new File("D:\\Videos\\BiliBliVideo\\舞蹈")); - fileNameTrim(new File(("D:\\Videos\\BiliBliVideo\\万兴素材"))); +// fileRename(new File("D:\\Videos\\BiliBliVideo\\舞蹈")); +// fileNameTrim(new File(("D:\\Videos\\BiliBliVideo\\万兴素材"))); } } -- Gitee From 9e5c90756b23f244bf3c2ffb0b685f7af1e841f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Fri, 24 Sep 2021 19:01:36 +0800 Subject: [PATCH 09/19] Bili --- src/test/java/com/lin/localhost/FileRename.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/lin/localhost/FileRename.java b/src/test/java/com/lin/localhost/FileRename.java index eca45fe..c3f94b1 100644 --- a/src/test/java/com/lin/localhost/FileRename.java +++ b/src/test/java/com/lin/localhost/FileRename.java @@ -78,7 +78,7 @@ public class FileRename { } public static void main(String[] args) throws IOException { -// fileRename(new File("D:\\Videos\\BiliBliVideo\\舞蹈")); + fileRename(new File("D:\\Videos\\BiliBliVideo\\舞蹈")); // fileNameTrim(new File(("D:\\Videos\\BiliBliVideo\\万兴素材"))); } -- Gitee From ff34181e29a6ad4c08899129d665659139cca0de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Fri, 24 Sep 2021 20:20:01 +0800 Subject: [PATCH 10/19] Bili --- src/main/java/com/lin/App.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index a0e9c12..50d44f1 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -14,4 +14,5 @@ import java.util.Map; public class App { + } \ No newline at end of file -- Gitee From cf9e52223e6778d755b618201f792a5f7af71c72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Fri, 24 Sep 2021 20:36:32 +0800 Subject: [PATCH 11/19] Bili --- src/main/java/com/lin/App.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index 50d44f1..458187e 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -15,4 +15,5 @@ public class App { + } \ No newline at end of file -- Gitee From 291a8173ec36e79068dc99b6509923c351a61270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Sun, 26 Sep 2021 09:30:36 +0800 Subject: [PATCH 12/19] Bili --- src/main/java/com/lin/App.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index 458187e..a0e9c12 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -14,6 +14,4 @@ import java.util.Map; public class App { - - } \ No newline at end of file -- Gitee From 5f73fa6136de292d9df27ebea56c7c181ea8941e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Sun, 26 Sep 2021 09:32:46 +0800 Subject: [PATCH 13/19] Bili --- src/main/java/com/lin/App.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index a0e9c12..ec3d9f4 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -13,5 +13,4 @@ import java.util.Map; */ public class App { - } \ No newline at end of file -- Gitee From 05a2e136d3f9b36cca3974edfdcb43fef61ed522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Sun, 26 Sep 2021 09:39:32 +0800 Subject: [PATCH 14/19] Bili --- src/main/java/com/lin/App.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index ec3d9f4..a0e9c12 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -13,4 +13,5 @@ import java.util.Map; */ public class App { + } \ No newline at end of file -- Gitee From 4510ea78e9f25f76039de68d6c4c5c7d0deb1ca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Sun, 26 Sep 2021 09:52:00 +0800 Subject: [PATCH 15/19] Bili --- src/main/java/com/lin/App.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index a0e9c12..50d44f1 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -14,4 +14,5 @@ import java.util.Map; public class App { + } \ No newline at end of file -- Gitee From 06cd7504b4b9a43cf95b71e02944ccd01d544c86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Sun, 26 Sep 2021 10:06:32 +0800 Subject: [PATCH 16/19] Bili --- src/main/java/com/lin/App.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index 50d44f1..7bd37eb 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -15,4 +15,6 @@ public class App { + + } \ No newline at end of file -- Gitee From dd127df20908d22f80c4641145f9d8cf52e5c7f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Sun, 26 Sep 2021 10:07:42 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E6=90=9E=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/App.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index 7bd37eb..ec3d9f4 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -13,8 +13,4 @@ import java.util.Map; */ public class App { - - - - } \ No newline at end of file -- Gitee From 9bd411c0cdf5dfbe8bfe0bccc019f52172d4a998 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Sun, 26 Sep 2021 10:10:44 +0800 Subject: [PATCH 18/19] =?UTF-8?q?=E6=90=9E=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/App.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index ec3d9f4..a0e9c12 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -13,4 +13,5 @@ import java.util.Map; */ public class App { + } \ No newline at end of file -- Gitee From 35fb81f0e0894ad36c79eddb741dff3aa6a93802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <1915803787@qq.com> Date: Tue, 7 Dec 2021 17:08:27 +0800 Subject: [PATCH 19/19] feat:refactor package and class --- README.md | 59 ++++---- .../lin/codesnippet/ThreadPoolSnippet.java | 129 ++++++++++++++++++ .../io/aio/Asynchronous.java | 2 +- .../lin/{ => codesnippet}/io/bio/Stream.java | 5 +- .../lin/{ => codesnippet}/io/nio/Channel.java | 2 +- .../{ => codesnippet}/sort/BubbleSort.java | 6 +- .../{ => codesnippet}/sort/BucketSort.java | 4 +- .../{ => codesnippet}/sort/CountingSort.java | 2 +- .../lin/{ => codesnippet}/sort/HeapSort.java | 6 +- .../{ => codesnippet}/sort/InsertionSort.java | 6 +- .../lin/{ => codesnippet}/sort/MergeSort.java | 6 +- .../lin/{ => codesnippet}/sort/QuickSort.java | 6 +- .../lin/{ => codesnippet}/sort/RadixSort.java | 2 +- .../{ => codesnippet}/sort/SelectionSort.java | 6 +- .../lin/{ => codesnippet}/sort/ShellSort.java | 6 +- .../{ => codesnippet}/sort/util/SortUtil.java | 2 +- .../nome => codesnippet/treeNome}/BSTree.java | 2 +- .../nome => codesnippet/treeNome}/Tree.java | 2 +- .../treeNome}/avltree/AVLTree1.java | 2 +- .../treeNome}/avltree/AVLTree2.java | 2 +- .../treeNome}/rbtree/RBTree1.java | 2 +- .../treeNome}/rbtree/RBTree2.java | 2 +- .../{ => codesnippet}/SortStatusCode.java | 2 +- .../enums/{ => util}/ResponseStatusCode.java | 2 +- .../java/com/lin/util/ExcelExportUtil.java | 2 +- .../java/com/lin/util/HttpConnectionUtil.java | 2 +- .../com/lin/util/HttpUrlConnectionUtil.java | 3 +- .../{ => util}/pdfutil/ExcelToPdfUtil.java | 2 +- .../lin/{ => util}/pdfutil/HtmlToPdfUtil.java | 2 +- .../pdfutil/MultiPdfToOnePdfUtil.java | 5 +- .../lin/{ => util}/pdfutil/PPTToPdfUtil.java | 2 +- .../lin/{ => util}/pdfutil/PdfToPicUtil.java | 2 +- .../lin/{ => util}/pdfutil/PicToPdfUtil.java | 4 +- .../lin/{ => util}/pdfutil/WordToPdfUtil.java | 2 +- src/main/resources/markdown/codesnippet/io.md | 20 +++ .../resources/markdown/codesnippet/sort.md | 27 ++++ .../markdown/codesnippet/treenome.md | 24 ++++ src/main/resources/markdown/util/pdfutil.md | 27 ++++ src/main/resources/markdown/util/util.md | 34 +++++ src/test/java/com/lin/AppTest.java | 7 + src/test/java/com/lin/markdown/v2.0.md | 16 --- src/test/java/com/lin/markdown/v3.0.md | 25 ---- src/test/java/com/lin/markdown/v4.0.md | 13 -- src/test/java/com/lin/markdown/v5.0.md | 12 -- .../TestIO/nio/NioRead.java | 7 +- .../TestIO/nio/NioWrite.java | 7 +- .../TestIO/qq/qq1/NIOClient.java | 2 +- .../TestIO/qq/qq1/NIOServer.java | 2 +- .../TestIO/qq/qq2/NioClient.java | 2 +- .../TestIO/qq/qq2/NioServer.java | 2 +- .../TestSort/BubbleSortTest.java | 6 +- .../TestSort/BucketSortTest.java | 4 +- .../TestSort/CountingSortTest.java | 4 +- .../TestSort/HeapSortTest.java | 6 +- .../TestSort/InsertionSortTest.java | 6 +- .../TestSort/MergeSortTest.java | 6 +- .../TestSort/QuickSortedTest.java | 6 +- .../TestSort/RadixSortTest.java | 4 +- .../TestSort/SelectionSortTest.java | 6 +- .../TestSort/ShellSortTest.java | 6 +- .../TestTree/AVLTree1Test.java | 11 +- .../TestTree/RBTree2Test.java | 11 +- .../lin/{TestUtil => testutil}/ExcelTest.java | 27 ++-- .../lin/{TestUtil => testutil}/FileTest.java | 34 ++--- .../HttpConnectionTest.java | 16 ++- .../{TestUtil => testutil}/InvokeTest.java | 13 +- .../ProvinceCityTest.java | 8 +- .../lin/{TestUtil => testutil}/XmlTest.java | 2 +- .../testpdfutil}/GenPdf.java | 31 +++-- .../testpdfutil}/MultiToOneTest.java | 23 +++- .../testpdfutil}/PdfToPicTest.java | 37 +++-- .../testpdfutil}/PicToPdfTest.java | 42 ++++-- 72 files changed, 568 insertions(+), 259 deletions(-) create mode 100644 src/main/java/com/lin/codesnippet/ThreadPoolSnippet.java rename src/main/java/com/lin/{ => codesnippet}/io/aio/Asynchronous.java (96%) rename src/main/java/com/lin/{ => codesnippet}/io/bio/Stream.java (86%) rename src/main/java/com/lin/{ => codesnippet}/io/nio/Channel.java (96%) rename src/main/java/com/lin/{ => codesnippet}/sort/BubbleSort.java (92%) rename src/main/java/com/lin/{ => codesnippet}/sort/BucketSort.java (96%) rename src/main/java/com/lin/{ => codesnippet}/sort/CountingSort.java (97%) rename src/main/java/com/lin/{ => codesnippet}/sort/HeapSort.java (95%) rename src/main/java/com/lin/{ => codesnippet}/sort/InsertionSort.java (93%) rename src/main/java/com/lin/{ => codesnippet}/sort/MergeSort.java (95%) rename src/main/java/com/lin/{ => codesnippet}/sort/QuickSort.java (94%) rename src/main/java/com/lin/{ => codesnippet}/sort/RadixSort.java (98%) rename src/main/java/com/lin/{ => codesnippet}/sort/SelectionSort.java (87%) rename src/main/java/com/lin/{ => codesnippet}/sort/ShellSort.java (89%) rename src/main/java/com/lin/{ => codesnippet}/sort/util/SortUtil.java (93%) rename src/main/java/com/lin/{tree/nome => codesnippet/treeNome}/BSTree.java (99%) rename src/main/java/com/lin/{tree/nome => codesnippet/treeNome}/Tree.java (99%) rename src/main/java/com/lin/{tree/nome => codesnippet/treeNome}/avltree/AVLTree1.java (99%) rename src/main/java/com/lin/{tree/nome => codesnippet/treeNome}/avltree/AVLTree2.java (99%) rename src/main/java/com/lin/{tree/nome => codesnippet/treeNome}/rbtree/RBTree1.java (99%) rename src/main/java/com/lin/{tree/nome => codesnippet/treeNome}/rbtree/RBTree2.java (99%) rename src/main/java/com/lin/enums/{ => codesnippet}/SortStatusCode.java (95%) rename src/main/java/com/lin/enums/{ => util}/ResponseStatusCode.java (95%) rename src/main/java/com/lin/{ => util}/pdfutil/ExcelToPdfUtil.java (77%) rename src/main/java/com/lin/{ => util}/pdfutil/HtmlToPdfUtil.java (68%) rename src/main/java/com/lin/{ => util}/pdfutil/MultiPdfToOnePdfUtil.java (97%) rename src/main/java/com/lin/{ => util}/pdfutil/PPTToPdfUtil.java (77%) rename src/main/java/com/lin/{ => util}/pdfutil/PdfToPicUtil.java (98%) rename src/main/java/com/lin/{ => util}/pdfutil/PicToPdfUtil.java (98%) rename src/main/java/com/lin/{ => util}/pdfutil/WordToPdfUtil.java (77%) create mode 100644 src/main/resources/markdown/codesnippet/io.md create mode 100644 src/main/resources/markdown/codesnippet/sort.md create mode 100644 src/main/resources/markdown/codesnippet/treenome.md create mode 100644 src/main/resources/markdown/util/pdfutil.md create mode 100644 src/main/resources/markdown/util/util.md delete mode 100644 src/test/java/com/lin/markdown/v2.0.md delete mode 100644 src/test/java/com/lin/markdown/v3.0.md delete mode 100644 src/test/java/com/lin/markdown/v4.0.md delete mode 100644 src/test/java/com/lin/markdown/v5.0.md rename src/test/java/com/lin/{ => testcodesnippet}/TestIO/nio/NioRead.java (85%) rename src/test/java/com/lin/{ => testcodesnippet}/TestIO/nio/NioWrite.java (86%) rename src/test/java/com/lin/{ => testcodesnippet}/TestIO/qq/qq1/NIOClient.java (94%) rename src/test/java/com/lin/{ => testcodesnippet}/TestIO/qq/qq1/NIOServer.java (98%) rename src/test/java/com/lin/{ => testcodesnippet}/TestIO/qq/qq2/NioClient.java (96%) rename src/test/java/com/lin/{ => testcodesnippet}/TestIO/qq/qq2/NioServer.java (98%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/BubbleSortTest.java (71%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/BucketSortTest.java (80%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/CountingSortTest.java (80%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/HeapSortTest.java (71%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/InsertionSortTest.java (81%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/MergeSortTest.java (82%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/QuickSortedTest.java (72%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/RadixSortTest.java (80%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/SelectionSortTest.java (71%) rename src/test/java/com/lin/{ => testcodesnippet}/TestSort/ShellSortTest.java (71%) rename src/test/java/com/lin/{ => testcodesnippet}/TestTree/AVLTree1Test.java (75%) rename src/test/java/com/lin/{ => testcodesnippet}/TestTree/RBTree2Test.java (68%) rename src/test/java/com/lin/{TestUtil => testutil}/ExcelTest.java (66%) rename src/test/java/com/lin/{TestUtil => testutil}/FileTest.java (44%) rename src/test/java/com/lin/{TestUtil => testutil}/HttpConnectionTest.java (69%) rename src/test/java/com/lin/{TestUtil => testutil}/InvokeTest.java (92%) rename src/test/java/com/lin/{TestUtil => testutil}/ProvinceCityTest.java (87%) rename src/test/java/com/lin/{TestUtil => testutil}/XmlTest.java (97%) rename src/test/java/com/lin/{TestPdfUtil => testutil/testpdfutil}/GenPdf.java (91%) rename src/test/java/com/lin/{TestPdfUtil => testutil/testpdfutil}/MultiToOneTest.java (77%) rename src/test/java/com/lin/{TestPdfUtil => testutil/testpdfutil}/PdfToPicTest.java (62%) rename src/test/java/com/lin/{TestPdfUtil => testutil/testpdfutil}/PicToPdfTest.java (54%) diff --git a/README.md b/README.md index c728f6a..fcec087 100644 --- a/README.md +++ b/README.md @@ -17,27 +17,38 @@ #### 使用说明 -1. 直接拷贝工具类代码嵌入自己项目即可 -2. 目前已完成一部分,经测试可以使用 - - excel读取导出工具 - - 文件读取写入工具 - - Http连接工具(两个) - - xml解析工具 - - 对象反射工具 - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +1. 直接拷贝工具类代码嵌入自己项目即可 +2. 目前已完成一部分,经测试可以使用 + 1. util + 1. Excel导出工具(ExcelExportUtil) + 2. EXcel导入工具(ExcelImportUtil) + 3. 文件读取工具(FileReadUtil) + 4. 文件写入工具(FileWriteUtil) + 5. Http(Https)连接工具(HttpConnectionUtil、HttpUrlConnectionUtil) + 6. Xml解析工具(XmlParseUtil) + 7. 反射工具(InvokeUtil) + 8. 省份城市工具(ProvinceCityUtil) + 2. pdfutil + 1. 多个pdf合成工具(MutilPdfToOnePdfUtil) + 2. pdf转图片工具(PdfToPicUtil) + 3. 图片转pdf工具,多图片转pdf工具(PicToPdfUtil) +3. 扩展工具,已完成可以直接使用 + 1. 排序算法 + 1. 冒泡排序(BubbleSort) + 2. 选择排序(SelectionSort) + 3. 插入排序(InsertionSort) + 4. 计数排序(CountingSort) + 5. 归并排序(MergeSort) + 6. 希尔排序(ShellSort) + 7. 堆排序(HeapSort) + 8. 基数排序(RadixSort) + 9. 桶排序(BucketSort) + 10. 快速排序(QuickSort) + 2. 树结构 + 1. AVL树实现算法1(AVLTree1) + 2. 红黑树实现算法2(RBTree2) + 3. io模型 + 1. NIO拷贝(Stream) + 2. BIO拷贝(Channel) + 3. NIO读取(Test)(NioRead) + 4. NIO写入(Test)(NioWrite) diff --git a/src/main/java/com/lin/codesnippet/ThreadPoolSnippet.java b/src/main/java/com/lin/codesnippet/ThreadPoolSnippet.java new file mode 100644 index 0000000..5fd5e16 --- /dev/null +++ b/src/main/java/com/lin/codesnippet/ThreadPoolSnippet.java @@ -0,0 +1,129 @@ +package com.lin.codesnippet; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +/** + * 四种线程池模板 + * @author 九分石人 + */ +public class ThreadPoolSnippet { + + private static final Integer threadNum = 5; + + /** + * 缓存线程池 + */ + public void newCachedThreadPool() { + ExecutorService executorService = Executors.newCachedThreadPool(); + + for (int i = 0; i < threadNum; i++) { + final int index = i; + executorService.execute(() -> { + try { + SimpleDateFormat sdf = new SimpleDateFormat( + "HH:mm:ss"); + System.out.println("运行时间: " + + sdf.format(new Date()) + " " + index + " " + Thread.currentThread().getName()); + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }); + } + executorService.shutdown(); + } + + /** + * 单线程线程池 + */ + public void newSingleThreadExecutor() { + ExecutorService executorService = Executors.newSingleThreadExecutor(); + execute(executorService); + executorService.shutdown(); + } + + /** + * 定长线程池 + */ + public void newFixedThreadPool() { + ExecutorService executorService = Executors.newFixedThreadPool(3); + execute(executorService); + } + + private void execute(ExecutorService executorService) { + for (int i = 0; i < threadNum; i++) { + final int index = i; + executorService.execute(() -> { + try { + SimpleDateFormat sdf = new SimpleDateFormat( + "HH:mm:ss"); + System.out.println("运行时间: " + + sdf.format(new Date()) + " " + index + " " + Thread.currentThread().getName()); + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }); + } + } + + /** + * 定时执行的线程池 + */ + public void newScheduledThreadPool() { + ScheduledExecutorService executorService = Executors.newScheduledThreadPool(3); + SimpleDateFormat sdf = new SimpleDateFormat( + "HH:mm:ss"); + for (int i = 0; i < threadNum; i++) { + final int index = i; + System.out.println("提交时间: " + sdf.format(new Date())); + executorService.schedule(() -> { + try { + + System.out.println("运行时间: " + + sdf.format(new Date()) + " " + index + " " + Thread.currentThread().getName()); + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }, 3, TimeUnit.SECONDS); + + } + } + + /** + * 周期执行的线程池 + * + * @throws InterruptedException + */ + public void newScheduledThreadPool2() throws InterruptedException { + ScheduledExecutorService executorService = Executors.newScheduledThreadPool(3); + SimpleDateFormat sdf = new SimpleDateFormat( + "HH:mm:ss"); +// for (int i = 0; i < threadNum; i++) { + final int index = 1; + System.out.println("提交时间: " + sdf.format(new Date())); + executorService.scheduleAtFixedRate(() -> { + try { + + System.out.println("运行时间: " + + sdf.format(new Date()) + " " + index + " " + Thread.currentThread().getName()); + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }, 1, 3, TimeUnit.SECONDS); + //主线程等待10秒钟后关闭 + Thread.sleep(10000); +// } + + executorService.shutdown(); + } + + +} diff --git a/src/main/java/com/lin/io/aio/Asynchronous.java b/src/main/java/com/lin/codesnippet/io/aio/Asynchronous.java similarity index 96% rename from src/main/java/com/lin/io/aio/Asynchronous.java rename to src/main/java/com/lin/codesnippet/io/aio/Asynchronous.java index ff22363..7bf6c2a 100644 --- a/src/main/java/com/lin/io/aio/Asynchronous.java +++ b/src/main/java/com/lin/codesnippet/io/aio/Asynchronous.java @@ -1,4 +1,4 @@ -package com.lin.io.aio; +package com.lin.codesnippet.io.aio; import java.io.*; import java.nio.ByteBuffer; diff --git a/src/main/java/com/lin/io/bio/Stream.java b/src/main/java/com/lin/codesnippet/io/bio/Stream.java similarity index 86% rename from src/main/java/com/lin/io/bio/Stream.java rename to src/main/java/com/lin/codesnippet/io/bio/Stream.java index 19a0644..3e84a15 100644 --- a/src/main/java/com/lin/io/bio/Stream.java +++ b/src/main/java/com/lin/codesnippet/io/bio/Stream.java @@ -1,7 +1,4 @@ -package com.lin.io.bio; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.io.input.ReaderInputStream; +package com.lin.codesnippet.io.bio; import java.io.*; diff --git a/src/main/java/com/lin/io/nio/Channel.java b/src/main/java/com/lin/codesnippet/io/nio/Channel.java similarity index 96% rename from src/main/java/com/lin/io/nio/Channel.java rename to src/main/java/com/lin/codesnippet/io/nio/Channel.java index 1a07f06..5d28761 100644 --- a/src/main/java/com/lin/io/nio/Channel.java +++ b/src/main/java/com/lin/codesnippet/io/nio/Channel.java @@ -1,4 +1,4 @@ -package com.lin.io.nio; +package com.lin.codesnippet.io.nio; import java.io.*; import java.nio.ByteBuffer; diff --git a/src/main/java/com/lin/sort/BubbleSort.java b/src/main/java/com/lin/codesnippet/sort/BubbleSort.java similarity index 92% rename from src/main/java/com/lin/sort/BubbleSort.java rename to src/main/java/com/lin/codesnippet/sort/BubbleSort.java index 684f15b..79bc4fd 100644 --- a/src/main/java/com/lin/sort/BubbleSort.java +++ b/src/main/java/com/lin/codesnippet/sort/BubbleSort.java @@ -1,7 +1,7 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.util.SortUtil; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.util.SortUtil; /** * 冒泡排序 diff --git a/src/main/java/com/lin/sort/BucketSort.java b/src/main/java/com/lin/codesnippet/sort/BucketSort.java similarity index 96% rename from src/main/java/com/lin/sort/BucketSort.java rename to src/main/java/com/lin/codesnippet/sort/BucketSort.java index c966feb..b5bffc8 100644 --- a/src/main/java/com/lin/sort/BucketSort.java +++ b/src/main/java/com/lin/codesnippet/sort/BucketSort.java @@ -1,6 +1,6 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; -import com.lin.enums.SortStatusCode; +import com.lin.enums.codesnippet.SortStatusCode; import java.util.Arrays; diff --git a/src/main/java/com/lin/sort/CountingSort.java b/src/main/java/com/lin/codesnippet/sort/CountingSort.java similarity index 97% rename from src/main/java/com/lin/sort/CountingSort.java rename to src/main/java/com/lin/codesnippet/sort/CountingSort.java index 9cf6589..de09ead 100644 --- a/src/main/java/com/lin/sort/CountingSort.java +++ b/src/main/java/com/lin/codesnippet/sort/CountingSort.java @@ -1,4 +1,4 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; import java.util.Arrays; diff --git a/src/main/java/com/lin/sort/HeapSort.java b/src/main/java/com/lin/codesnippet/sort/HeapSort.java similarity index 95% rename from src/main/java/com/lin/sort/HeapSort.java rename to src/main/java/com/lin/codesnippet/sort/HeapSort.java index caa6de8..6c905d0 100644 --- a/src/main/java/com/lin/sort/HeapSort.java +++ b/src/main/java/com/lin/codesnippet/sort/HeapSort.java @@ -1,7 +1,7 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.util.SortUtil; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.util.SortUtil; /** * 堆排序 diff --git a/src/main/java/com/lin/sort/InsertionSort.java b/src/main/java/com/lin/codesnippet/sort/InsertionSort.java similarity index 93% rename from src/main/java/com/lin/sort/InsertionSort.java rename to src/main/java/com/lin/codesnippet/sort/InsertionSort.java index 78767d5..ee8a6a1 100644 --- a/src/main/java/com/lin/sort/InsertionSort.java +++ b/src/main/java/com/lin/codesnippet/sort/InsertionSort.java @@ -1,7 +1,7 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.util.SortUtil; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.util.SortUtil; /** * 插入排序 diff --git a/src/main/java/com/lin/sort/MergeSort.java b/src/main/java/com/lin/codesnippet/sort/MergeSort.java similarity index 95% rename from src/main/java/com/lin/sort/MergeSort.java rename to src/main/java/com/lin/codesnippet/sort/MergeSort.java index 389abc3..9fab3e7 100644 --- a/src/main/java/com/lin/sort/MergeSort.java +++ b/src/main/java/com/lin/codesnippet/sort/MergeSort.java @@ -1,7 +1,7 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.util.SortUtil; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.util.SortUtil; /** * 归并排序 diff --git a/src/main/java/com/lin/sort/QuickSort.java b/src/main/java/com/lin/codesnippet/sort/QuickSort.java similarity index 94% rename from src/main/java/com/lin/sort/QuickSort.java rename to src/main/java/com/lin/codesnippet/sort/QuickSort.java index 19a1d72..f78cf34 100644 --- a/src/main/java/com/lin/sort/QuickSort.java +++ b/src/main/java/com/lin/codesnippet/sort/QuickSort.java @@ -1,7 +1,7 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.util.SortUtil; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.util.SortUtil; /** * 快速排序 diff --git a/src/main/java/com/lin/sort/RadixSort.java b/src/main/java/com/lin/codesnippet/sort/RadixSort.java similarity index 98% rename from src/main/java/com/lin/sort/RadixSort.java rename to src/main/java/com/lin/codesnippet/sort/RadixSort.java index 9b4bf18..951c2fc 100644 --- a/src/main/java/com/lin/sort/RadixSort.java +++ b/src/main/java/com/lin/codesnippet/sort/RadixSort.java @@ -1,4 +1,4 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; import java.util.Arrays; diff --git a/src/main/java/com/lin/sort/SelectionSort.java b/src/main/java/com/lin/codesnippet/sort/SelectionSort.java similarity index 87% rename from src/main/java/com/lin/sort/SelectionSort.java rename to src/main/java/com/lin/codesnippet/sort/SelectionSort.java index af7ee00..cc48f50 100644 --- a/src/main/java/com/lin/sort/SelectionSort.java +++ b/src/main/java/com/lin/codesnippet/sort/SelectionSort.java @@ -1,7 +1,7 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.util.SortUtil; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.util.SortUtil; /** * 选择排序 diff --git a/src/main/java/com/lin/sort/ShellSort.java b/src/main/java/com/lin/codesnippet/sort/ShellSort.java similarity index 89% rename from src/main/java/com/lin/sort/ShellSort.java rename to src/main/java/com/lin/codesnippet/sort/ShellSort.java index 76ffd6d..3b57bd7 100644 --- a/src/main/java/com/lin/sort/ShellSort.java +++ b/src/main/java/com/lin/codesnippet/sort/ShellSort.java @@ -1,7 +1,7 @@ -package com.lin.sort; +package com.lin.codesnippet.sort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.util.SortUtil; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.util.SortUtil; /** * 希尔排序 diff --git a/src/main/java/com/lin/sort/util/SortUtil.java b/src/main/java/com/lin/codesnippet/sort/util/SortUtil.java similarity index 93% rename from src/main/java/com/lin/sort/util/SortUtil.java rename to src/main/java/com/lin/codesnippet/sort/util/SortUtil.java index e65c31e..b1b0b1c 100644 --- a/src/main/java/com/lin/sort/util/SortUtil.java +++ b/src/main/java/com/lin/codesnippet/sort/util/SortUtil.java @@ -1,4 +1,4 @@ -package com.lin.sort.util; +package com.lin.codesnippet.sort.util; /** * 排序工具 diff --git a/src/main/java/com/lin/tree/nome/BSTree.java b/src/main/java/com/lin/codesnippet/treeNome/BSTree.java similarity index 99% rename from src/main/java/com/lin/tree/nome/BSTree.java rename to src/main/java/com/lin/codesnippet/treeNome/BSTree.java index 16c1646..9fc2e38 100644 --- a/src/main/java/com/lin/tree/nome/BSTree.java +++ b/src/main/java/com/lin/codesnippet/treeNome/BSTree.java @@ -1,4 +1,4 @@ -package com.lin.tree.nome; +package com.lin.codesnippet.treeNome; import lombok.Data; diff --git a/src/main/java/com/lin/tree/nome/Tree.java b/src/main/java/com/lin/codesnippet/treeNome/Tree.java similarity index 99% rename from src/main/java/com/lin/tree/nome/Tree.java rename to src/main/java/com/lin/codesnippet/treeNome/Tree.java index 96b0001..624a8b6 100644 --- a/src/main/java/com/lin/tree/nome/Tree.java +++ b/src/main/java/com/lin/codesnippet/treeNome/Tree.java @@ -1,4 +1,4 @@ -package com.lin.tree.nome; +package com.lin.codesnippet.treeNome; import lombok.Data; diff --git a/src/main/java/com/lin/tree/nome/avltree/AVLTree1.java b/src/main/java/com/lin/codesnippet/treeNome/avltree/AVLTree1.java similarity index 99% rename from src/main/java/com/lin/tree/nome/avltree/AVLTree1.java rename to src/main/java/com/lin/codesnippet/treeNome/avltree/AVLTree1.java index 4a13540..101505a 100644 --- a/src/main/java/com/lin/tree/nome/avltree/AVLTree1.java +++ b/src/main/java/com/lin/codesnippet/treeNome/avltree/AVLTree1.java @@ -1,4 +1,4 @@ -package com.lin.tree.nome.avltree; +package com.lin.codesnippet.treeNome.avltree; import java.util.Comparator; diff --git a/src/main/java/com/lin/tree/nome/avltree/AVLTree2.java b/src/main/java/com/lin/codesnippet/treeNome/avltree/AVLTree2.java similarity index 99% rename from src/main/java/com/lin/tree/nome/avltree/AVLTree2.java rename to src/main/java/com/lin/codesnippet/treeNome/avltree/AVLTree2.java index 4b2cc0e..cb4d867 100644 --- a/src/main/java/com/lin/tree/nome/avltree/AVLTree2.java +++ b/src/main/java/com/lin/codesnippet/treeNome/avltree/AVLTree2.java @@ -1,4 +1,4 @@ -package com.lin.tree.nome.avltree; +package com.lin.codesnippet.treeNome.avltree; //AVL树的节点类 class AVLNode { diff --git a/src/main/java/com/lin/tree/nome/rbtree/RBTree1.java b/src/main/java/com/lin/codesnippet/treeNome/rbtree/RBTree1.java similarity index 99% rename from src/main/java/com/lin/tree/nome/rbtree/RBTree1.java rename to src/main/java/com/lin/codesnippet/treeNome/rbtree/RBTree1.java index 0905b71..c704b30 100644 --- a/src/main/java/com/lin/tree/nome/rbtree/RBTree1.java +++ b/src/main/java/com/lin/codesnippet/treeNome/rbtree/RBTree1.java @@ -1,4 +1,4 @@ -package com.lin.tree.nome.rbtree; +package com.lin.codesnippet.treeNome.rbtree; /** * 红黑树 diff --git a/src/main/java/com/lin/tree/nome/rbtree/RBTree2.java b/src/main/java/com/lin/codesnippet/treeNome/rbtree/RBTree2.java similarity index 99% rename from src/main/java/com/lin/tree/nome/rbtree/RBTree2.java rename to src/main/java/com/lin/codesnippet/treeNome/rbtree/RBTree2.java index 8c8d765..804ea74 100644 --- a/src/main/java/com/lin/tree/nome/rbtree/RBTree2.java +++ b/src/main/java/com/lin/codesnippet/treeNome/rbtree/RBTree2.java @@ -1,4 +1,4 @@ -package com.lin.tree.nome.rbtree; +package com.lin.codesnippet.treeNome.rbtree; public class RBTree2 { diff --git a/src/main/java/com/lin/enums/SortStatusCode.java b/src/main/java/com/lin/enums/codesnippet/SortStatusCode.java similarity index 95% rename from src/main/java/com/lin/enums/SortStatusCode.java rename to src/main/java/com/lin/enums/codesnippet/SortStatusCode.java index 13e7f3e..4f44b60 100644 --- a/src/main/java/com/lin/enums/SortStatusCode.java +++ b/src/main/java/com/lin/enums/codesnippet/SortStatusCode.java @@ -1,4 +1,4 @@ -package com.lin.enums; +package com.lin.enums.codesnippet; /** * 排序状态吗 diff --git a/src/main/java/com/lin/enums/ResponseStatusCode.java b/src/main/java/com/lin/enums/util/ResponseStatusCode.java similarity index 95% rename from src/main/java/com/lin/enums/ResponseStatusCode.java rename to src/main/java/com/lin/enums/util/ResponseStatusCode.java index a134685..906bd03 100644 --- a/src/main/java/com/lin/enums/ResponseStatusCode.java +++ b/src/main/java/com/lin/enums/util/ResponseStatusCode.java @@ -1,4 +1,4 @@ -package com.lin.enums; +package com.lin.enums.util; /** * http相应响应状态码 diff --git a/src/main/java/com/lin/util/ExcelExportUtil.java b/src/main/java/com/lin/util/ExcelExportUtil.java index ce33018..8f85e23 100644 --- a/src/main/java/com/lin/util/ExcelExportUtil.java +++ b/src/main/java/com/lin/util/ExcelExportUtil.java @@ -129,7 +129,7 @@ public class ExcelExportUtil { Field f = fields[j]; f.setAccessible(true); if (f.get(t) != null) { - row.createCell(j).setCellValue((String) f.get(t)); + row.createCell(j).setCellValue(f.get(t).toString()); } else { row.createCell(j); } diff --git a/src/main/java/com/lin/util/HttpConnectionUtil.java b/src/main/java/com/lin/util/HttpConnectionUtil.java index 5ce1c35..4b43994 100644 --- a/src/main/java/com/lin/util/HttpConnectionUtil.java +++ b/src/main/java/com/lin/util/HttpConnectionUtil.java @@ -1,6 +1,6 @@ package com.lin.util; -import com.lin.enums.ResponseStatusCode; +import com.lin.enums.util.ResponseStatusCode; import lombok.extern.slf4j.Slf4j; import java.io.*; diff --git a/src/main/java/com/lin/util/HttpUrlConnectionUtil.java b/src/main/java/com/lin/util/HttpUrlConnectionUtil.java index 02aacb9..c333847 100644 --- a/src/main/java/com/lin/util/HttpUrlConnectionUtil.java +++ b/src/main/java/com/lin/util/HttpUrlConnectionUtil.java @@ -1,6 +1,6 @@ package com.lin.util; -import com.lin.enums.ResponseStatusCode; +import com.lin.enums.util.ResponseStatusCode; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; @@ -9,7 +9,6 @@ import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import java.io.DataOutputStream; import java.net.HttpURLConnection; -import java.net.ResponseCache; import java.net.URL; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; diff --git a/src/main/java/com/lin/pdfutil/ExcelToPdfUtil.java b/src/main/java/com/lin/util/pdfutil/ExcelToPdfUtil.java similarity index 77% rename from src/main/java/com/lin/pdfutil/ExcelToPdfUtil.java rename to src/main/java/com/lin/util/pdfutil/ExcelToPdfUtil.java index b10abc8..99ee865 100644 --- a/src/main/java/com/lin/pdfutil/ExcelToPdfUtil.java +++ b/src/main/java/com/lin/util/pdfutil/ExcelToPdfUtil.java @@ -1,4 +1,4 @@ -package com.lin.pdfutil; +package com.lin.util.pdfutil; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/lin/pdfutil/HtmlToPdfUtil.java b/src/main/java/com/lin/util/pdfutil/HtmlToPdfUtil.java similarity index 68% rename from src/main/java/com/lin/pdfutil/HtmlToPdfUtil.java rename to src/main/java/com/lin/util/pdfutil/HtmlToPdfUtil.java index ca735b4..2ebcb31 100644 --- a/src/main/java/com/lin/pdfutil/HtmlToPdfUtil.java +++ b/src/main/java/com/lin/util/pdfutil/HtmlToPdfUtil.java @@ -1,4 +1,4 @@ -package com.lin.pdfutil; +package com.lin.util.pdfutil; /** * @author 九分石人 diff --git a/src/main/java/com/lin/pdfutil/MultiPdfToOnePdfUtil.java b/src/main/java/com/lin/util/pdfutil/MultiPdfToOnePdfUtil.java similarity index 97% rename from src/main/java/com/lin/pdfutil/MultiPdfToOnePdfUtil.java rename to src/main/java/com/lin/util/pdfutil/MultiPdfToOnePdfUtil.java index 5df9fad..214ba55 100644 --- a/src/main/java/com/lin/pdfutil/MultiPdfToOnePdfUtil.java +++ b/src/main/java/com/lin/util/pdfutil/MultiPdfToOnePdfUtil.java @@ -1,8 +1,7 @@ -package com.lin.pdfutil; +package com.lin.util.pdfutil; import com.itextpdf.text.*; import com.itextpdf.text.Image; -import com.itextpdf.text.Rectangle; import com.itextpdf.text.pdf.PdfCopy; import com.itextpdf.text.pdf.PdfImportedPage; import com.itextpdf.text.pdf.PdfReader; @@ -83,7 +82,7 @@ public class MultiPdfToOnePdfUtil { /** - * 多个pdf合一工具 + * 多个pdf合一工具,pdf大小不一 * * @param bytes 需要合成的pdf数组 * @return 合成后的pdf diff --git a/src/main/java/com/lin/pdfutil/PPTToPdfUtil.java b/src/main/java/com/lin/util/pdfutil/PPTToPdfUtil.java similarity index 77% rename from src/main/java/com/lin/pdfutil/PPTToPdfUtil.java rename to src/main/java/com/lin/util/pdfutil/PPTToPdfUtil.java index de3f697..7792504 100644 --- a/src/main/java/com/lin/pdfutil/PPTToPdfUtil.java +++ b/src/main/java/com/lin/util/pdfutil/PPTToPdfUtil.java @@ -1,4 +1,4 @@ -package com.lin.pdfutil; +package com.lin.util.pdfutil; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/lin/pdfutil/PdfToPicUtil.java b/src/main/java/com/lin/util/pdfutil/PdfToPicUtil.java similarity index 98% rename from src/main/java/com/lin/pdfutil/PdfToPicUtil.java rename to src/main/java/com/lin/util/pdfutil/PdfToPicUtil.java index 772b98c..b738f53 100644 --- a/src/main/java/com/lin/pdfutil/PdfToPicUtil.java +++ b/src/main/java/com/lin/util/pdfutil/PdfToPicUtil.java @@ -1,4 +1,4 @@ -package com.lin.pdfutil; +package com.lin.util.pdfutil; import com.spire.pdf.PdfDocument; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/lin/pdfutil/PicToPdfUtil.java b/src/main/java/com/lin/util/pdfutil/PicToPdfUtil.java similarity index 98% rename from src/main/java/com/lin/pdfutil/PicToPdfUtil.java rename to src/main/java/com/lin/util/pdfutil/PicToPdfUtil.java index 9d69691..44c687b 100644 --- a/src/main/java/com/lin/pdfutil/PicToPdfUtil.java +++ b/src/main/java/com/lin/util/pdfutil/PicToPdfUtil.java @@ -1,4 +1,4 @@ -package com.lin.pdfutil; +package com.lin.util.pdfutil; import com.itextpdf.text.*; import com.itextpdf.text.pdf.PdfWriter; @@ -23,7 +23,7 @@ import java.io.*; public class PicToPdfUtil { /** - * 将pdf转换为图片 + * 将图片转换为pdf,bug * * @param inputStream 图片输入流 * @return pdf 输出流 diff --git a/src/main/java/com/lin/pdfutil/WordToPdfUtil.java b/src/main/java/com/lin/util/pdfutil/WordToPdfUtil.java similarity index 77% rename from src/main/java/com/lin/pdfutil/WordToPdfUtil.java rename to src/main/java/com/lin/util/pdfutil/WordToPdfUtil.java index d260192..0c3a225 100644 --- a/src/main/java/com/lin/pdfutil/WordToPdfUtil.java +++ b/src/main/java/com/lin/util/pdfutil/WordToPdfUtil.java @@ -1,4 +1,4 @@ -package com.lin.pdfutil; +package com.lin.util.pdfutil; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/resources/markdown/codesnippet/io.md b/src/main/resources/markdown/codesnippet/io.md new file mode 100644 index 0000000..0e1cf2d --- /dev/null +++ b/src/main/resources/markdown/codesnippet/io.md @@ -0,0 +1,20 @@ +# io + +## algorithm + +1. NIO拷贝(Stream) +2. BIO拷贝(Channel) + +## test pass + +1. NIO读取(NioRead) +2. NIO写入(NioWrite) +3. qq_NIO网络通信(qq) + 1. qq1 + 2. qq2 + +--- + +## unfinished + +1. AIO拷贝(Asynchronous) \ No newline at end of file diff --git a/src/main/resources/markdown/codesnippet/sort.md b/src/main/resources/markdown/codesnippet/sort.md new file mode 100644 index 0000000..294d649 --- /dev/null +++ b/src/main/resources/markdown/codesnippet/sort.md @@ -0,0 +1,27 @@ +# sort + +## algorithm + +1. 冒泡排序(BubbleSort) +2. 选择排序(SelectionSort) +3. 插入排序(InsertionSort) +4. 计数排序(CountingSort) +5. 归并排序(MergeSort) +6. 希尔排序(ShellSort) +7. 堆排序(HeapSort) +8. 基数排序(RadixSort) +9. 桶排序(BucketSort) +10. 快速排序(QuickSort) + +## test pass + +1. 冒泡排序(BubbleSortTest) +2. 选择排序(SelectionSortTest) +3. 插入排序(InsertionSortTest) +4. 计数排序(CountingSortTest) +5. 归并排序(MergeSortTest) +6. 希尔排序(ShellSortTest) +7. 堆排序(HeapSortTest) +8. 基数排序(RadixSortTest) +9. 桶排序(BucketSortTest) +10. 快速排序(QuickSortTest) \ No newline at end of file diff --git a/src/main/resources/markdown/codesnippet/treenome.md b/src/main/resources/markdown/codesnippet/treenome.md new file mode 100644 index 0000000..f36d158 --- /dev/null +++ b/src/main/resources/markdown/codesnippet/treenome.md @@ -0,0 +1,24 @@ +# treenome + +## algorithm + +1. AVL树实现算法1(AVLTree1) +2. AVL树实现算法2(AVLTree2) +3. 红黑树实现算法1(RBTree1) +4. 红黑树实现算法2(RBTree2) +5. 二叉平衡树实现算法(BSTree) +6. 普通二叉树6(Tree) + +## test pass + +1. AVL树算法1测试(AVLTree1Test) +2. 红黑树算法2测试(RBTree2Test) + +--- + +## untest + +1. AVL树实现算法2(AVLTree2) +2. 红黑树实现算法1(RBTree1) +3. 二叉平衡树实现算法(BSTree) +4. 普通二叉树(Tree) diff --git a/src/main/resources/markdown/util/pdfutil.md b/src/main/resources/markdown/util/pdfutil.md new file mode 100644 index 0000000..1ce1d58 --- /dev/null +++ b/src/main/resources/markdown/util/pdfutil.md @@ -0,0 +1,27 @@ +# pdfutil + +## util + +1. 图片转pdf工具,多图片转pdf工具(PicToPdfUtil) +2. pdf转图片工具(PdfToPicUtil) +3. 多个pdf合成工具(MutilPdfToOnePdfUtil) +4. Html转Pdf工具(HtmlToPdfUtil) +5. Word转Pdf工具(WordToPdfUtil) +6. PPT转Pdf工具(PPTToPdfUtil) +7. Excel转Pdf工具(ExcelToPdfUtil) + +## test pass + +1. genPdf,生成pdf(GenPdf) +2. 多图片合一pdf(MultiToOneTest) +3. pdf转图片(PdfToPic) +4. 图片转pdf(PicToPdf) + +--- + +## unfinished + +1. Html转Pdf工具 +2. Word转Pdf工具 +3. PPT转Pdf工具 +4. Excel转Pdf工具 \ No newline at end of file diff --git a/src/main/resources/markdown/util/util.md b/src/main/resources/markdown/util/util.md new file mode 100644 index 0000000..fb3e9b0 --- /dev/null +++ b/src/main/resources/markdown/util/util.md @@ -0,0 +1,34 @@ +# util + +## util + +1. Excel导出工具(ExcelExportUtil) +2. EXcel导入工具(ExcelImportUtil) +3. 文件读取工具(FileReadUtil) +4. 文件写入工具(FileWriteUtil) +5. Http(Https)连接工具(HttpConnectionUtil、HttpUrlConnectionUtil) +6. Xml解析工具(XmlParseUtil) +7. 反射工具(InvokeUtil) +8. 省份城市工具(ProvinceCityUtil) +9. 数组排序工具(ArraySortUtil) + +## test pass + +1. Excel导出(ExeclTest) +2. Execl导入(ExeclTest) +3. 文件读取(FileTest) +4. 文件写入(FileTest) +5. http连接(HttpConnectionTest) +6. 反射(InvokeTest) +7. xml解析(XmlTest) +8. 省份城市工具(ProvinceCityTest) + +--- + +## unfinished + +1. 数组排序 + +## test bug + +1. 文件写入工具_从流中写入文件(`FileWriteUtil#writeFromInputStream`) \ No newline at end of file diff --git a/src/test/java/com/lin/AppTest.java b/src/test/java/com/lin/AppTest.java index dd879cf..937277d 100644 --- a/src/test/java/com/lin/AppTest.java +++ b/src/test/java/com/lin/AppTest.java @@ -25,4 +25,11 @@ public class AppTest { System.out.println(i); } } + + public static void main(String[] args) { + String st1 = "hello"; + String ste = "he" + new String("llo"); + System.out.println(ste==st1); + } + } diff --git a/src/test/java/com/lin/markdown/v2.0.md b/src/test/java/com/lin/markdown/v2.0.md deleted file mode 100644 index 2759d29..0000000 --- a/src/test/java/com/lin/markdown/v2.0.md +++ /dev/null @@ -1,16 +0,0 @@ -# V2.0 - -1. Excel导出导入工具(测试已通过) -2. 文件读取写入工具(测试已通过) -3. Http(Https)连接工具(测试已通过) -4. Xml解析工具(测试已通过) -5. 反射工具(测试已通过) -6. pdf导出工具(未完成) - -### TEST - -1. Excel导出导入测试 -2. 文件读写测试 -3. http连接测试 -4. 反射测试 -5. xml解析测试 diff --git a/src/test/java/com/lin/markdown/v3.0.md b/src/test/java/com/lin/markdown/v3.0.md deleted file mode 100644 index 3030e53..0000000 --- a/src/test/java/com/lin/markdown/v3.0.md +++ /dev/null @@ -1,25 +0,0 @@ -# V3.0 - -1. 冒泡排序工具 -2. 选择排序 -3. 插入排序 -4. 计数排序 -5. 归并排序 -6. 希尔排序 -7. 堆排序 -8. 基数排序 -9. 桶排序 -10. 快速排序 - -### TEST - -1. 冒泡排序 -2. 桶排序 -3. 计数排序 -4. 堆排序 -5. 插入排序 -6. 归并排序 -7. 快速排序 -8. 基数排序 -9. 选择排序 -10. 希尔排序 \ No newline at end of file diff --git a/src/test/java/com/lin/markdown/v4.0.md b/src/test/java/com/lin/markdown/v4.0.md deleted file mode 100644 index f8c313e..0000000 --- a/src/test/java/com/lin/markdown/v4.0.md +++ /dev/null @@ -1,13 +0,0 @@ -# V4.0 - -1. AVL树实现算法1 -2. AVL树实现算法2 -3. 红黑树实现算法1 -4. 红黑树实现算法2 -5. 二叉平衡树实现算法 -6. 普通二叉树6 - -### TEST - -1. AVL树算法1测试 -2. 红黑树算法2测试 \ No newline at end of file diff --git a/src/test/java/com/lin/markdown/v5.0.md b/src/test/java/com/lin/markdown/v5.0.md deleted file mode 100644 index 3c522a7..0000000 --- a/src/test/java/com/lin/markdown/v5.0.md +++ /dev/null @@ -1,12 +0,0 @@ -# V5.0 - -1. 图片转pdf工具,多图片转pdf工具 -2. pdf转图片工具 -3. 多个pdf合成工具 - -### TEST - -1. genPdf,生成pdf -2. 多图片合一pdf -3. pdf转图片 -4. 图片转pdf \ No newline at end of file diff --git a/src/test/java/com/lin/TestIO/nio/NioRead.java b/src/test/java/com/lin/testcodesnippet/TestIO/nio/NioRead.java similarity index 85% rename from src/test/java/com/lin/TestIO/nio/NioRead.java rename to src/test/java/com/lin/testcodesnippet/TestIO/nio/NioRead.java index b432d1b..816ea08 100644 --- a/src/test/java/com/lin/TestIO/nio/NioRead.java +++ b/src/test/java/com/lin/testcodesnippet/TestIO/nio/NioRead.java @@ -1,4 +1,6 @@ -package com.lin.TestIO.nio; +package com.lin.testcodesnippet.TestIO.nio; + +import org.junit.Test; import java.io.File; import java.io.FileInputStream; @@ -12,7 +14,8 @@ import java.nio.channels.FileChannel; */ public class NioRead { - public static void main(String[] args) throws Exception { + @Test + public void testNioRead() throws Exception { File file = new File("test.txe"); // 创建输入流 diff --git a/src/test/java/com/lin/TestIO/nio/NioWrite.java b/src/test/java/com/lin/testcodesnippet/TestIO/nio/NioWrite.java similarity index 86% rename from src/test/java/com/lin/TestIO/nio/NioWrite.java rename to src/test/java/com/lin/testcodesnippet/TestIO/nio/NioWrite.java index 99c6eec..c79347b 100644 --- a/src/test/java/com/lin/TestIO/nio/NioWrite.java +++ b/src/test/java/com/lin/testcodesnippet/TestIO/nio/NioWrite.java @@ -1,4 +1,6 @@ -package com.lin.TestIO.nio; +package com.lin.testcodesnippet.TestIO.nio; + +import org.junit.Test; import java.io.FileOutputStream; import java.nio.ByteBuffer; @@ -11,7 +13,8 @@ import java.nio.channels.FileChannel; */ public class NioWrite { - public static void main(String[] args) throws Exception { + @Test + public void testNioWrite() throws Exception { // 创建输出流 FileOutputStream fileOutputStream = new FileOutputStream("test.txe"); diff --git a/src/test/java/com/lin/TestIO/qq/qq1/NIOClient.java b/src/test/java/com/lin/testcodesnippet/TestIO/qq/qq1/NIOClient.java similarity index 94% rename from src/test/java/com/lin/TestIO/qq/qq1/NIOClient.java rename to src/test/java/com/lin/testcodesnippet/TestIO/qq/qq1/NIOClient.java index 49630a2..e1f5d37 100644 --- a/src/test/java/com/lin/TestIO/qq/qq1/NIOClient.java +++ b/src/test/java/com/lin/testcodesnippet/TestIO/qq/qq1/NIOClient.java @@ -1,4 +1,4 @@ -package com.lin.TestIO.qq.qq1; +package com.lin.testcodesnippet.TestIO.qq.qq1; import java.io.IOException; import java.net.InetAddress; diff --git a/src/test/java/com/lin/TestIO/qq/qq1/NIOServer.java b/src/test/java/com/lin/testcodesnippet/TestIO/qq/qq1/NIOServer.java similarity index 98% rename from src/test/java/com/lin/TestIO/qq/qq1/NIOServer.java rename to src/test/java/com/lin/testcodesnippet/TestIO/qq/qq1/NIOServer.java index 3ac7144..32be42d 100644 --- a/src/test/java/com/lin/TestIO/qq/qq1/NIOServer.java +++ b/src/test/java/com/lin/testcodesnippet/TestIO/qq/qq1/NIOServer.java @@ -1,4 +1,4 @@ -package com.lin.TestIO.qq.qq1; +package com.lin.testcodesnippet.TestIO.qq.qq1; import java.io.IOException; import java.net.InetSocketAddress; diff --git a/src/test/java/com/lin/TestIO/qq/qq2/NioClient.java b/src/test/java/com/lin/testcodesnippet/TestIO/qq/qq2/NioClient.java similarity index 96% rename from src/test/java/com/lin/TestIO/qq/qq2/NioClient.java rename to src/test/java/com/lin/testcodesnippet/TestIO/qq/qq2/NioClient.java index 04f5147..b7c65a8 100644 --- a/src/test/java/com/lin/TestIO/qq/qq2/NioClient.java +++ b/src/test/java/com/lin/testcodesnippet/TestIO/qq/qq2/NioClient.java @@ -1,4 +1,4 @@ -package com.lin.TestIO.qq.qq2; +package com.lin.testcodesnippet.TestIO.qq.qq2; import java.net.InetSocketAddress; import java.nio.ByteBuffer; diff --git a/src/test/java/com/lin/TestIO/qq/qq2/NioServer.java b/src/test/java/com/lin/testcodesnippet/TestIO/qq/qq2/NioServer.java similarity index 98% rename from src/test/java/com/lin/TestIO/qq/qq2/NioServer.java rename to src/test/java/com/lin/testcodesnippet/TestIO/qq/qq2/NioServer.java index 7bd7c5f..75eb784 100644 --- a/src/test/java/com/lin/TestIO/qq/qq2/NioServer.java +++ b/src/test/java/com/lin/testcodesnippet/TestIO/qq/qq2/NioServer.java @@ -1,4 +1,4 @@ -package com.lin.TestIO.qq.qq2; +package com.lin.testcodesnippet.TestIO.qq.qq2; import java.net.InetSocketAddress; import java.nio.ByteBuffer; diff --git a/src/test/java/com/lin/TestSort/BubbleSortTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/BubbleSortTest.java similarity index 71% rename from src/test/java/com/lin/TestSort/BubbleSortTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/BubbleSortTest.java index a42a9fc..32b9e16 100644 --- a/src/test/java/com/lin/TestSort/BubbleSortTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/BubbleSortTest.java @@ -1,7 +1,7 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.BubbleSort; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.BubbleSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestSort/BucketSortTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/BucketSortTest.java similarity index 80% rename from src/test/java/com/lin/TestSort/BucketSortTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/BucketSortTest.java index ee6a0d5..5476041 100644 --- a/src/test/java/com/lin/TestSort/BucketSortTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/BucketSortTest.java @@ -1,6 +1,6 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.sort.BucketSort; +import com.lin.codesnippet.sort.BucketSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestSort/CountingSortTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/CountingSortTest.java similarity index 80% rename from src/test/java/com/lin/TestSort/CountingSortTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/CountingSortTest.java index 1977605..7c3b638 100644 --- a/src/test/java/com/lin/TestSort/CountingSortTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/CountingSortTest.java @@ -1,6 +1,6 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.sort.CountingSort; +import com.lin.codesnippet.sort.CountingSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestSort/HeapSortTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/HeapSortTest.java similarity index 71% rename from src/test/java/com/lin/TestSort/HeapSortTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/HeapSortTest.java index ac2a83f..1bff305 100644 --- a/src/test/java/com/lin/TestSort/HeapSortTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/HeapSortTest.java @@ -1,7 +1,7 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.HeapSort; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.HeapSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestSort/InsertionSortTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/InsertionSortTest.java similarity index 81% rename from src/test/java/com/lin/TestSort/InsertionSortTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/InsertionSortTest.java index 4e2d225..ff86f8e 100644 --- a/src/test/java/com/lin/TestSort/InsertionSortTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/InsertionSortTest.java @@ -1,7 +1,7 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.InsertionSort; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.InsertionSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestSort/MergeSortTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/MergeSortTest.java similarity index 82% rename from src/test/java/com/lin/TestSort/MergeSortTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/MergeSortTest.java index 67d38f8..eb50c8d 100644 --- a/src/test/java/com/lin/TestSort/MergeSortTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/MergeSortTest.java @@ -1,7 +1,7 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.MergeSort; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.MergeSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestSort/QuickSortedTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/QuickSortedTest.java similarity index 72% rename from src/test/java/com/lin/TestSort/QuickSortedTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/QuickSortedTest.java index b3b6b62..4dae957 100644 --- a/src/test/java/com/lin/TestSort/QuickSortedTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/QuickSortedTest.java @@ -1,7 +1,7 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.QuickSort; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.QuickSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestSort/RadixSortTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/RadixSortTest.java similarity index 80% rename from src/test/java/com/lin/TestSort/RadixSortTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/RadixSortTest.java index b5eef03..7d3e54b 100644 --- a/src/test/java/com/lin/TestSort/RadixSortTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/RadixSortTest.java @@ -1,6 +1,6 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.sort.RadixSort; +import com.lin.codesnippet.sort.RadixSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestSort/SelectionSortTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/SelectionSortTest.java similarity index 71% rename from src/test/java/com/lin/TestSort/SelectionSortTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/SelectionSortTest.java index 472fd8f..e313a8e 100644 --- a/src/test/java/com/lin/TestSort/SelectionSortTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/SelectionSortTest.java @@ -1,7 +1,7 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.SelectionSort; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.SelectionSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestSort/ShellSortTest.java b/src/test/java/com/lin/testcodesnippet/TestSort/ShellSortTest.java similarity index 71% rename from src/test/java/com/lin/TestSort/ShellSortTest.java rename to src/test/java/com/lin/testcodesnippet/TestSort/ShellSortTest.java index f2a3fa4..0f75db5 100644 --- a/src/test/java/com/lin/TestSort/ShellSortTest.java +++ b/src/test/java/com/lin/testcodesnippet/TestSort/ShellSortTest.java @@ -1,7 +1,7 @@ -package com.lin.TestSort; +package com.lin.testcodesnippet.TestSort; -import com.lin.enums.SortStatusCode; -import com.lin.sort.ShellSort; +import com.lin.enums.codesnippet.SortStatusCode; +import com.lin.codesnippet.sort.ShellSort; import org.junit.Test; /** diff --git a/src/test/java/com/lin/TestTree/AVLTree1Test.java b/src/test/java/com/lin/testcodesnippet/TestTree/AVLTree1Test.java similarity index 75% rename from src/test/java/com/lin/TestTree/AVLTree1Test.java rename to src/test/java/com/lin/testcodesnippet/TestTree/AVLTree1Test.java index 0298d75..91d7238 100644 --- a/src/test/java/com/lin/TestTree/AVLTree1Test.java +++ b/src/test/java/com/lin/testcodesnippet/TestTree/AVLTree1Test.java @@ -1,6 +1,7 @@ -package com.lin.TestTree; +package com.lin.testcodesnippet.TestTree; -import com.lin.tree.nome.avltree.AVLTree1; +import com.lin.codesnippet.treeNome.avltree.AVLTree1; +import org.junit.Test; /** * AVL树测试 @@ -9,7 +10,11 @@ import com.lin.tree.nome.avltree.AVLTree1; */ public class AVLTree1Test { - public static void main(String[] args) { + /** + * test pass + */ + @Test + public void testAVLTree1() { AVLTree1 avl = new AVLTree1<>(); /*可自行添加插入,删除操作进行测试*/ avl.insert(3); diff --git a/src/test/java/com/lin/TestTree/RBTree2Test.java b/src/test/java/com/lin/testcodesnippet/TestTree/RBTree2Test.java similarity index 68% rename from src/test/java/com/lin/TestTree/RBTree2Test.java rename to src/test/java/com/lin/testcodesnippet/TestTree/RBTree2Test.java index 3bb0a16..abbea2e 100644 --- a/src/test/java/com/lin/TestTree/RBTree2Test.java +++ b/src/test/java/com/lin/testcodesnippet/TestTree/RBTree2Test.java @@ -1,6 +1,7 @@ -package com.lin.TestTree; +package com.lin.testcodesnippet.TestTree; -import com.lin.tree.nome.rbtree.RBTree2; +import com.lin.codesnippet.treeNome.rbtree.RBTree2; +import org.junit.Test; /** * 红黑树测试 @@ -9,7 +10,11 @@ import com.lin.tree.nome.rbtree.RBTree2; */ public class RBTree2Test { - public static void main(String[] args) { + /** + * test pass + */ + @Test + public void testRBTree2() { RBTree2 T = new RBTree2(); RBTree2.RedBlackTreeNode node1 = T.RB_NODE(10); T.RB_INSERT(T, node1); diff --git a/src/test/java/com/lin/TestUtil/ExcelTest.java b/src/test/java/com/lin/testutil/ExcelTest.java similarity index 66% rename from src/test/java/com/lin/TestUtil/ExcelTest.java rename to src/test/java/com/lin/testutil/ExcelTest.java index d6fd9b4..237a7a8 100644 --- a/src/test/java/com/lin/TestUtil/ExcelTest.java +++ b/src/test/java/com/lin/testutil/ExcelTest.java @@ -1,5 +1,6 @@ -package com.lin.TestUtil; +package com.lin.testutil; +import com.alibaba.fastjson.JSON; import com.lin.dto.BookDto; import com.lin.util.ExcelExportUtil; import com.lin.util.ExcelImportUtil; @@ -18,11 +19,17 @@ import java.util.List; */ public class ExcelTest { + private static final String filePath = "temp/"; + /** + * test pass + * + * @throws IllegalAccessException + * @throws IOException + */ @Test public void exportExcelTest() throws IllegalAccessException, IOException { -// String filepath = "/Users/linqiankun/Desktop/testexcel.xls"; - String filepath = "src/test/resources/testExcel.xml"; + String newFilePath = filePath + "testExcel.xls"; BookDto b = new BookDto(); b.setAuthor("cvbnm"); b.setLanguage("english"); @@ -35,20 +42,24 @@ public class ExcelTest { HSSFWorkbook excel = ExcelExportUtil.getExcel(l, str); - File file = FileWriteUtil.canCreatFile(filepath); + File file = FileWriteUtil.canCreatFile(newFilePath); FileOutputStream out = new FileOutputStream(file); excel.write(out); } + /** + * test pass + * + * @throws FileNotFoundException + */ @Test public void importExcelTest() throws FileNotFoundException { -// String filepath = "/Users/linqiankun/Desktop/testexcel.xls"; - String filepath = "src/test/resources/testExcel.xml"; - File file = FileWriteUtil.canCreatFile(filepath); + String newFilePath = filePath + "testExcel.xls"; + File file = FileWriteUtil.canCreatFile(newFilePath); FileInputStream in = new FileInputStream(file); List strings = ExcelImportUtil.readExcelFile(in, 1, 2);//从第二行开始读,就是2 - System.out.println(strings); + System.out.println(JSON.toJSONString(strings)); } diff --git a/src/test/java/com/lin/TestUtil/FileTest.java b/src/test/java/com/lin/testutil/FileTest.java similarity index 44% rename from src/test/java/com/lin/TestUtil/FileTest.java rename to src/test/java/com/lin/testutil/FileTest.java index 1f978ee..1845b96 100644 --- a/src/test/java/com/lin/TestUtil/FileTest.java +++ b/src/test/java/com/lin/testutil/FileTest.java @@ -1,14 +1,11 @@ -package com.lin.TestUtil; +package com.lin.testutil; -import com.alibaba.fastjson.JSON; -import com.lin.dto.SenseCallbackDto; import com.lin.util.FileReadUtil; import com.lin.util.FileWriteUtil; import org.junit.Test; import java.io.IOException; import java.io.InputStream; -import java.util.List; /** * 文件读取测试,将读取到的文件反射进对象集合中 @@ -17,30 +14,35 @@ import java.util.List; */ public class FileTest { + private static final String filePath = "temp/fileString.txt"; + + /** + * test pass + * + * @throws IOException + */ @Test public void readFileToStringTest() throws IOException { -// String filepath = "/Users/linqiankun/Desktop/test"; - String filepath = "src/test/resources/test"; - String s = FileReadUtil.readFileToString(filepath); - - List reslutList = JSON.parseArray(s, SenseCallbackDto.class); - System.out.println(reslutList.size()); + String s = FileReadUtil.readFileToString(filePath); + System.out.println(s); } + /** + * test pass + */ @Test public void writeFromStringTest() { -// String filepath = "/Users/linqiankun/Desktop/test"; - String filepath = "src/test/resources/test"; String s = "wertyukmcdrtyukmnhgfrtyu"; - FileWriteUtil.writeFromString(s, filepath); + FileWriteUtil.writeFromString(s, filePath); } + /** + * test bug + */ @Test public void writeFromInputStreamTest() { InputStream in = this.getClass().getClassLoader().getResourceAsStream("book.xml"); -// String filepath = "/Users/linqiankun/Desktop/test1"; - String filepath = "src/test/resources/test"; - FileWriteUtil.writeFromInputStream(in, filepath); + FileWriteUtil.writeFromInputStream(in, filePath); } } \ No newline at end of file diff --git a/src/test/java/com/lin/TestUtil/HttpConnectionTest.java b/src/test/java/com/lin/testutil/HttpConnectionTest.java similarity index 69% rename from src/test/java/com/lin/TestUtil/HttpConnectionTest.java rename to src/test/java/com/lin/testutil/HttpConnectionTest.java index 50de472..38ab55f 100644 --- a/src/test/java/com/lin/TestUtil/HttpConnectionTest.java +++ b/src/test/java/com/lin/testutil/HttpConnectionTest.java @@ -1,4 +1,4 @@ -package com.lin.TestUtil; +package com.lin.testutil; import com.lin.util.HttpConnectionUtil; import com.lin.util.HttpUrlConnectionUtil; @@ -11,16 +11,26 @@ import org.junit.Test; */ public class HttpConnectionTest { + /** + * test pass + */ @Test public void httpConnectionTest() { String get = HttpConnectionUtil.sendGet("http://www.baidu.com"); - String post = HttpConnectionUtil.sendPost("http://www.baidu.com", null); + System.out.println(get); + String post = HttpConnectionUtil.sendPost("http://www.baidu.com", ""); + System.out.println(post); } + /** + * test pass + */ @Test public void httpUrlConnectionTest() { String get = HttpUrlConnectionUtil.doGet("http://www.baidu.com"); - String post = HttpUrlConnectionUtil.doPost("http://www.baidu.com", null); + System.out.println(get); + String post = HttpUrlConnectionUtil.doPost("http://www.baidu.com", ""); + System.out.println(post); } diff --git a/src/test/java/com/lin/TestUtil/InvokeTest.java b/src/test/java/com/lin/testutil/InvokeTest.java similarity index 92% rename from src/test/java/com/lin/TestUtil/InvokeTest.java rename to src/test/java/com/lin/testutil/InvokeTest.java index 7f49e5c..09886d1 100644 --- a/src/test/java/com/lin/TestUtil/InvokeTest.java +++ b/src/test/java/com/lin/testutil/InvokeTest.java @@ -1,4 +1,4 @@ -package com.lin.TestUtil; +package com.lin.testutil; import com.lin.dto.BookDto; import com.lin.dto.SenseCallbackDto; @@ -21,6 +21,9 @@ import java.util.Map; */ public class InvokeTest { + /** + * test pass + */ @Test public void setFromMapTest() { String filepath = "src/test/resources/book.xml"; @@ -35,11 +38,13 @@ public class InvokeTest { l.add(bookDto); } System.out.println(l.toString()); - } - - public static void main(String[] args) throws IllegalAccessException { + /** + * test pass + */ + @Test + public void testDto(String[] args) throws IllegalAccessException { SenseCallbackDto dto = new SenseCallbackDto(); dto.setBatchId("111"); dto.setAudio("a"); diff --git a/src/test/java/com/lin/TestUtil/ProvinceCityTest.java b/src/test/java/com/lin/testutil/ProvinceCityTest.java similarity index 87% rename from src/test/java/com/lin/TestUtil/ProvinceCityTest.java rename to src/test/java/com/lin/testutil/ProvinceCityTest.java index 682ea78..74dde74 100644 --- a/src/test/java/com/lin/TestUtil/ProvinceCityTest.java +++ b/src/test/java/com/lin/testutil/ProvinceCityTest.java @@ -1,4 +1,4 @@ -package com.lin.TestUtil; +package com.lin.testutil; import com.lin.util.ProvinceCityUtil; @@ -14,12 +14,18 @@ import java.util.Map; */ public class ProvinceCityTest { + /** + * test pass + */ @Test public void provinceCityTest() { List> maps = ProvinceCityUtil.addressResolution("北京市市辖区丰台区"); System.out.println(maps); } + /** + * test pass + */ @Test public void provinceCityTestNo() { Map maps = ProvinceCityUtil.addressResolutionNoTwo("内蒙古维吾尔组自治区胡琦市"); diff --git a/src/test/java/com/lin/TestUtil/XmlTest.java b/src/test/java/com/lin/testutil/XmlTest.java similarity index 97% rename from src/test/java/com/lin/TestUtil/XmlTest.java rename to src/test/java/com/lin/testutil/XmlTest.java index 705ce33..f1690e9 100644 --- a/src/test/java/com/lin/TestUtil/XmlTest.java +++ b/src/test/java/com/lin/testutil/XmlTest.java @@ -1,4 +1,4 @@ -package com.lin.TestUtil; +package com.lin.testutil; import com.lin.util.XmlParseUtil; import org.junit.Test; diff --git a/src/test/java/com/lin/TestPdfUtil/GenPdf.java b/src/test/java/com/lin/testutil/testpdfutil/GenPdf.java similarity index 91% rename from src/test/java/com/lin/TestPdfUtil/GenPdf.java rename to src/test/java/com/lin/testutil/testpdfutil/GenPdf.java index 9898eb1..71b5f77 100644 --- a/src/test/java/com/lin/TestPdfUtil/GenPdf.java +++ b/src/test/java/com/lin/testutil/testpdfutil/GenPdf.java @@ -1,17 +1,19 @@ -package com.lin.TestPdfUtil; +package com.lin.testutil.testpdfutil; -import com.itextpdf.text.*; import com.itextpdf.text.Font; -import com.itextpdf.text.pdf.*; +import com.itextpdf.text.*; +import com.itextpdf.text.pdf.BaseFont; +import com.itextpdf.text.pdf.PdfCopy; +import com.itextpdf.text.pdf.PdfPCell; +import com.itextpdf.text.pdf.PdfPTable; import com.lin.util.FileWriteUtil; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.PDFRenderer; import org.junit.Test; - import javax.imageio.ImageIO; -import java.awt.*; import java.awt.Image; +import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; @@ -22,13 +24,17 @@ import java.io.*; */ public class GenPdf { - - String p = "/Users/linqiankun/Documents/需求文件/"; int dataNums = 120; + private static final String p = "temp/"; + /** + * test pass + * + * @throws FileNotFoundException + */ @Test public void test1() throws FileNotFoundException {//生成pdf -// FileOutputStream outputStream = new FileOutputStream(p + "a.pdf"); +// FileOutputStream outputStream = new FileOutputStream("a.pdf"); ByteArrayOutputStream b = new ByteArrayOutputStream(); Document document = new Document(); @@ -117,7 +123,7 @@ public class GenPdf { document.close(); byte[] bytes = b.toByteArray(); ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes); - test2(inputStream); + savePdf(inputStream); // outputStream.write(bytes); // outputStream.flush(); @@ -147,7 +153,7 @@ public class GenPdf { } - public void test2(ByteArrayInputStream inputStream) throws IOException { + public void savePdf(ByteArrayInputStream inputStream) throws IOException { byte[] b = new byte[inputStream.available()]; inputStream.read(b); PDDocument pdDocument = PDDocument.load(b); @@ -158,7 +164,10 @@ public class GenPdf { ByteArrayOutputStream temp; - String p = "/Users/linqiankun/Documents/需求文件/"; + File file = new File(p); + if (!file.exists()) { + file.mkdirs(); + } for (int i = 0; i < numberOfPages; i++) { String path = p + i + ".jpg"; BufferedImage image = renderer.renderImageWithDPI(i, 90); diff --git a/src/test/java/com/lin/TestPdfUtil/MultiToOneTest.java b/src/test/java/com/lin/testutil/testpdfutil/MultiToOneTest.java similarity index 77% rename from src/test/java/com/lin/TestPdfUtil/MultiToOneTest.java rename to src/test/java/com/lin/testutil/testpdfutil/MultiToOneTest.java index 7fdf69b..fa2b43b 100644 --- a/src/test/java/com/lin/TestPdfUtil/MultiToOneTest.java +++ b/src/test/java/com/lin/testutil/testpdfutil/MultiToOneTest.java @@ -1,8 +1,8 @@ -package com.lin.TestPdfUtil; +package com.lin.testutil.testpdfutil; import com.itextpdf.text.DocumentException; -import com.lin.pdfutil.MultiPdfToOnePdfUtil; import com.lin.util.FileWriteUtil; +import com.lin.util.pdfutil.MultiPdfToOnePdfUtil; import org.junit.Test; import java.io.File; @@ -19,16 +19,25 @@ import java.util.List; */ public class MultiToOneTest { + private static final String filePath = "temp/"; + /** + * test pass + */ @Test public void testOne() { - String filePath = "/Users/linqiankun/Downloads/ll"; - String pdfPath = filePath + "1.pdf"; + String pdfPath = filePath + "mutil1.pdf"; FileWriteUtil.canCreatFile(pdfPath); MultiPdfToOnePdfUtil.picToPdf(filePath, pdfPath); } + /** + * test pass + * + * @throws IOException + * @throws DocumentException + */ @Test public void testTwo() throws IOException, DocumentException { // FileInputStream in = new FileInputStream("/Users/linqiankun/Documents/需求文件/法催3.4的副本.pdf"); @@ -38,13 +47,13 @@ public class MultiToOneTest { // int read = in.read(buf); // int read1 = ins.read(bufs); - File file = new File("D://新建文件夹3"); + File file = new File(filePath); boolean directory = file.isDirectory(); List bytes = new LinkedList<>(); if (directory) { File[] files = file.listFiles(); for (File f : files) { - if (f.isFile()) { + if (f.isFile() && f.getName().toLowerCase().endsWith(".pdf")) { FileInputStream inputStream = new FileInputStream(f); byte[] buf = new byte[inputStream.available()]; int read = inputStream.read(buf); @@ -55,7 +64,7 @@ public class MultiToOneTest { byte[] bytes1 = MultiPdfToOnePdfUtil.pdfmMix(bytes); - String pdf = "D://3.pdf"; + String pdf = filePath + "mutil2.pdf"; FileWriteUtil.canCreatFile(pdf); FileOutputStream o = new FileOutputStream(pdf); diff --git a/src/test/java/com/lin/TestPdfUtil/PdfToPicTest.java b/src/test/java/com/lin/testutil/testpdfutil/PdfToPicTest.java similarity index 62% rename from src/test/java/com/lin/TestPdfUtil/PdfToPicTest.java rename to src/test/java/com/lin/testutil/testpdfutil/PdfToPicTest.java index 4771f3b..0991d15 100644 --- a/src/test/java/com/lin/TestPdfUtil/PdfToPicTest.java +++ b/src/test/java/com/lin/testutil/testpdfutil/PdfToPicTest.java @@ -1,10 +1,13 @@ -package com.lin.TestPdfUtil; +package com.lin.testutil.testpdfutil; -import com.lin.pdfutil.PdfToPicUtil; import com.lin.util.FileWriteUtil; +import com.lin.util.pdfutil.PdfToPicUtil; import org.junit.Test; -import java.io.*; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; import java.util.List; /** @@ -14,14 +17,21 @@ import java.util.List; */ public class PdfToPicTest { + private static final String filePath = "temp/"; + + /** + * test pass + * + * @throws IOException + */ @Test public void testOne() throws IOException { - FileInputStream in = new FileInputStream("/Users/linqiankun/Documents/需求文件/法催3.4的副本.pdf"); + FileInputStream in = new FileInputStream(filePath + "mutil1.pdf"); List byteArrayOutputStreams = PdfToPicUtil.pdfToPic1(in); for (int i = 0; i < byteArrayOutputStreams.size(); i++) { - String filePath = "/Users/linqiankun/Documents/需求文件/" + i + 2 + ".jpg"; - FileWriteUtil.canCreatFile(filePath); - FileOutputStream outputStream = new FileOutputStream(filePath); + String newfilePath = filePath + i + 1 + ".jpg"; + FileWriteUtil.canCreatFile(newfilePath); + FileOutputStream outputStream = new FileOutputStream(newfilePath); ByteArrayOutputStream byteArrayOutputStream = byteArrayOutputStreams.get(i); byte[] bytes = byteArrayOutputStream.toByteArray(); outputStream.write(bytes); @@ -31,14 +41,19 @@ public class PdfToPicTest { } } + /** + * test pass + * + * @throws IOException + */ @Test public void testTwo() throws IOException { - FileInputStream in = new FileInputStream("/Users/linqiankun/Documents/需求文件/法催3.4的副本.pdf"); + FileInputStream in = new FileInputStream(filePath + "mutil1.pdf"); List byteArrayOutputStreams = PdfToPicUtil.pdfToPic2(in); for (int i = 0; i < byteArrayOutputStreams.size(); i++) { - String filePath = "/Users/linqiankun/Documents/需求文件/" + i + ".PNG"; - FileWriteUtil.canCreatFile(filePath); - FileOutputStream outputStream = new FileOutputStream(filePath); + String newfilePath = filePath + i + 2 + ".PNG"; + FileWriteUtil.canCreatFile(newfilePath); + FileOutputStream outputStream = new FileOutputStream(newfilePath); ByteArrayOutputStream byteArrayOutputStream = byteArrayOutputStreams.get(i); byte[] bytes = byteArrayOutputStream.toByteArray(); outputStream.write(bytes); diff --git a/src/test/java/com/lin/TestPdfUtil/PicToPdfTest.java b/src/test/java/com/lin/testutil/testpdfutil/PicToPdfTest.java similarity index 54% rename from src/test/java/com/lin/TestPdfUtil/PicToPdfTest.java rename to src/test/java/com/lin/testutil/testpdfutil/PicToPdfTest.java index 52a4878..e7c7709 100644 --- a/src/test/java/com/lin/TestPdfUtil/PicToPdfTest.java +++ b/src/test/java/com/lin/testutil/testpdfutil/PicToPdfTest.java @@ -1,11 +1,14 @@ -package com.lin.TestPdfUtil; +package com.lin.testutil.testpdfutil; import com.itextpdf.text.DocumentException; -import com.lin.pdfutil.PicToPdfUtil; import com.lin.util.FileWriteUtil; +import com.lin.util.pdfutil.PicToPdfUtil; import org.junit.Test; -import java.io.*; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; /** * 图片转pdf @@ -14,12 +17,18 @@ import java.io.*; */ public class PicToPdfTest { + private static final String filePath = "temp/"; + + /** + * test pass + * + * @throws IOException + */ @Test public void testOne() throws IOException { - String filePath = "/Users/linqiankun/Documents/需求文件/"; - FileInputStream in = new FileInputStream(filePath + "02.jpg"); - String pdfPath = filePath + "1.pdf"; + FileInputStream in = new FileInputStream(filePath + "0.jpg"); + String pdfPath = filePath + "0.pdf"; FileWriteUtil.canCreatFile(pdfPath); FileOutputStream outputStream = new FileOutputStream(pdfPath); ByteArrayOutputStream byteArrayOutputStream = PicToPdfUtil.picToPdf1(in); @@ -30,20 +39,29 @@ public class PicToPdfTest { } + /** + * test pass + * + * @throws IOException + */ @Test public void testTwo() throws IOException { - String filePath = "/Users/linqiankun/Documents/需求文件/"; - String imgPath = filePath + "02.jpg"; - String pdfPath = filePath + "02.pdf"; + String imgPath = filePath + "1.jpg"; + String pdfPath = filePath + "1.pdf"; PicToPdfUtil.imgToPdf2(imgPath, pdfPath); } + /** + * test pass + * + * @throws IOException + * @throws DocumentException + */ @Test public void testThree() throws IOException, DocumentException { - String filePath = "/Users/linqiankun/Documents/需求文件/"; - String imgPath = filePath + "02.jpg"; - String pdfPath = filePath + "02.pdf"; + String imgPath = filePath + "2.jpg"; + String pdfPath = filePath + "2.pdf"; PicToPdfUtil.imageToPdf3(imgPath, pdfPath); } -- Gitee