diff --git a/README.md b/README.md index c728f6a777ea0ac2c0b04bb7ab246a75434301ed..fcec08725cc8cbc1fb8e8fecb13ea00ac7dbca4b 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 0000000000000000000000000000000000000000..5fd5e16980019a906f2115a2e736bbee116c1036 --- /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/codesnippet/io/aio/Asynchronous.java b/src/main/java/com/lin/codesnippet/io/aio/Asynchronous.java new file mode 100644 index 0000000000000000000000000000000000000000..7bf6c2a5f5c2b9c1f4be8d12dd8b452cc9894d60 --- /dev/null +++ b/src/main/java/com/lin/codesnippet/io/aio/Asynchronous.java @@ -0,0 +1,33 @@ +package com.lin.codesnippet.io.aio; + +import java.io.*; +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); + + 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/bio/Stream.java b/src/main/java/com/lin/codesnippet/io/bio/Stream.java similarity index 84% rename from src/main/java/com/lin/io/bio/Stream.java rename to src/main/java/com/lin/codesnippet/io/bio/Stream.java index 3217363a3b7c2f65f170585b26399bfd064b391e..3e84a15a20c1a868ca78c73886d8817af6202596 100644 --- a/src/main/java/com/lin/io/bio/Stream.java +++ b/src/main/java/com/lin/codesnippet/io/bio/Stream.java @@ -1,9 +1,6 @@ -package com.lin.io.bio; +package com.lin.codesnippet.io.bio; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; +import java.io.*; /** * @author 九分石人 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 86% rename from src/main/java/com/lin/io/nio/Channel.java rename to src/main/java/com/lin/codesnippet/io/nio/Channel.java index a8d0875c13f86efe1643166ee8a8ca107e7e211a..5d2876178fda815343b0356caf25242706e6d469 100644 --- a/src/main/java/com/lin/io/nio/Channel.java +++ b/src/main/java/com/lin/codesnippet/io/nio/Channel.java @@ -1,9 +1,6 @@ -package com.lin.io.nio; +package com.lin.codesnippet.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; 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 684f15b2f67f63ac6e4480e1965fa4f780f028a8..79bc4fd064daf32216e3783b346718d3e779cc99 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 c966feb57986a2d2d7f8de6e7612a124cb5a95b2..b5bffc8235f395bb538671b0b55f63e60f1e424d 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 9cf65895a1ee088215a8bccee3b45a67b9b0cc49..de09eade0516b0f4c5e5d4f57e43b820e74e688c 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 caa6de89a60a515caea15c45b74c2bf2d8b7df25..6c905d0ca8fc18f6dad00a8681786173cb89b800 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 78767d5f8abdacd4978f068763ad8ac359b08625..ee8a6a16938c30bf844cef41c548bf43bcdca48a 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 389abc3c3e8da6ca1aa2898888c75969cf773ba3..9fab3e7de2d5e791faac6627f38603b0e279022d 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 19a1d722acac4cc30226e9332abf0f8820ef8735..f78cf34108ad7efd228213338d1ae49b53690f52 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 9b4bf181501fca08f3ffcb548656f9b04b3523af..951c2fc2aa77e764f49dfccbc2590991d1cfac48 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 af7ee00f941dbd6644faf7c8fd75ef5a3b34809f..cc48f5008d4da17034a934268801525c577800d3 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 76ffd6ddebe281c2a0827db0fd3bd282317c862b..3b57bd7baabc39827990ccdf3cce8f0ffb05c022 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 e65c31e77af2080b6addab5d369c2a1c16fb1eb1..b1b0b1cde6d340f3f1b332e2412714041881824e 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 16c1646da2116144aa577016d3f07e98677da023..9fc2e387ffe50da37e45cd2bd4bf4d16f99d3d7e 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 96b0001866812368e751cdc780e0fb2a52271bf3..624a8b64fb7eb1d3d678ef29dff8e061401c0679 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 4a13540a9e710f21e2608a16646e8d6d2467387e..101505a1a142ca046b31c0013a21f9fc9fb05d50 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 4b2cc0e01892029b10a0b05813105dab90a463d2..cb4d867efa08793d0535e11c64448f2558a48453 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 0905b7162813a08692b0659f6e96e2c95e14d930..c704b30880b38c6c08ddbb8c830084ef540a79c8 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 8c8d7654a5fa779cbf40548bd2b9832712f451e0..804ea7429f7563add5a7157bb608355134cee99c 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 13e7f3e9e248c3e1f303d1365298fb3a9c3faf3d..4f44b60e2083d8af23319d9aa1e3506ed6c1a021 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 a134685630b7f20be48f8389f2cd74b37936d77f..906bd030e115ac8abeff8b27f54a451bd2de1e7c 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 ce330185cd911b5537416bec5f534a03d55da5f0..8f85e2356cf6921762e117377da907e0d4322a1b 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 5ce1c3506d132adbbd4d33330031b6cc76d01adb..4b439941a8d41d6a496fb57bbaca25a357053d9c 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 02aacb9b5dc174c5e3f5eecafcbe45c9809524f2..c33384775ef097383ac4bb76a47307aceae94153 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 b10abc86becb8945cc8296483bce918b881a645a..99ee865bf5485fd2598bbff4c6af51725ef6c685 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 ca735b4ef8b5471d38234db3a40500c9a1de6adb..2ebcb317fb9ea0144d34893151f6b2a7fd155aae 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 96% rename from src/main/java/com/lin/pdfutil/MultiPdfToOnePdfUtil.java rename to src/main/java/com/lin/util/pdfutil/MultiPdfToOnePdfUtil.java index e842e47f0fc2040c1b0b9fc272e81ed2e2078a7b..214ba55bc4ee5259f5ee3e4755bcb7473eef0db8 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 @@ -97,6 +96,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 +107,7 @@ public class MultiPdfToOnePdfUtil { copy.addPage(page); } reader.close(); + log.info("已完成的pdf ==> {}",++count); } document.close(); byte[] pdfs = bos.toByteArray(); 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 de3f697c6c66cbd6b62ce3214d6519086c76e98e..7792504b367fdc8b7a4d3b3e568ce1bfbee35cfc 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 772b98c6ce99a807ee6051abf5968eeb6032b4f6..b738f5310cefbad91bb4e040d69d8b178fdb85ef 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 9d6969142f0cb07f4e6b5834d3d9d68f2bd00a2f..44c687b7c243c973419f973fadd54c37144cb518 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 d260192c385b07ed5cc37f45b7f999108eb792b7..0c3a225d41d1be2dcd80f5d7eedd53ff5cc31ee5 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 0000000000000000000000000000000000000000..0e1cf2d9dd5c9c513638ddb215abdd579bab183f --- /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 0000000000000000000000000000000000000000..294d6494d45dee0f7e382dd7f2d93933ad51e92e --- /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 0000000000000000000000000000000000000000..f36d15883b5fca25f5b8952970692298af89e440 --- /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 0000000000000000000000000000000000000000..1ce1d5814b1617639fc0091f512e486a19482fe9 --- /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 0000000000000000000000000000000000000000..fb3e9b0bfc244343a7e4f4f13b3c84f15fdf71e7 --- /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 dd879cf57fdf2ddd41b968790fe7c00fbcfa4492..937277d46839b05879fc45860cdf86acde24b818 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/TestCountDownLatch/CountDownLatchTest.java b/src/test/java/com/lin/TestCountDownLatch/CountDownLatchTest.java new file mode 100644 index 0000000000000000000000000000000000000000..c4fc97d6296f9c85e0f87badf5b787456279f703 --- /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/localhost/FileRename.java b/src/test/java/com/lin/localhost/FileRename.java new file mode 100644 index 0000000000000000000000000000000000000000..c3f94b145c2dec6217750151c561f1cc00d252ee --- /dev/null +++ b/src/test/java/com/lin/localhost/FileRename.java @@ -0,0 +1,85 @@ +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 { + + + 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 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:\\Videos\\BiliBliVideo\\舞蹈")); +// fileNameTrim(new File(("D:\\Videos\\BiliBliVideo\\万兴素材"))); + } + +} 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 2759d29e6604d25319277bccc3285c3816aa806a..0000000000000000000000000000000000000000 --- 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 3030e534feaa5fd80deac1936ad07783fbb496d4..0000000000000000000000000000000000000000 --- 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 f8c313e5241375417ceb60a7389b3358ef672a87..0000000000000000000000000000000000000000 --- 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 3c522a7d87b40a866ef6b81e152c922cf5eb974e..0000000000000000000000000000000000000000 --- 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 b432d1bf42a9c4318e0a1a7df6b29a685bed334b..816ea08f2f3ef11911f0848c08f64ee8593285a3 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 99c6eecd007dedda739958501b7bd5e41c2fb6dc..c79347b3c0aee0bda304d47f20ad2d46c7b777e7 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 49630a2ec9886a4a044e3aef5dfb23657cff6fe9..e1f5d3709faafe31a9e9ce57178357f1974f321a 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 3ac71443e27cba9c7f64e676448149f8ccf08d11..32be42d43617a13ace04991f6b881a69c7a443ac 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 04f5147781211cef84ce39a524af73601ea7d7b8..b7c65a85c1003f39231362c0eeb0d48bf651bef6 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 7bd7c5f9ab01938b79bed042ff3e83c4d40e5ebd..75eb7842aa04de8ded6e5d5d38b743f9fa1e3966 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 a42a9fcf140b8dc2c1ee01718a192e0b07612c7b..32b9e16624087c8f295c09bb1edb38edd772084c 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 ee6a0d5088e81465167568b58bd242cb41071302..547604104873b99916e000f93e6f8113a0a1b958 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 19776056ffe9dbfec7254fbfbe1226eb987d68d0..7c3b638b6837d2422b0b644f788cf514971cfbd3 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 ac2a83fbc2cebe14da400ef4aba7458b64731f76..1bff305d838d124860e00ff09c571e4649100251 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 4e2d225178b48ecf33aeea42057788b590c41908..ff86f8ef18eeb368af7c0a77a804a4f3b9fc478f 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 67d38f811e695aff140e550cf9d66958980e1233..eb50c8da668375d64c338b8d8188687419455891 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 b3b6b62b89f9a2a94aa51a2f20ab25e7a850c67f..4dae957e12e0ea0d03d2bd98bdf60318d38bd759 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 b5eef0393b72270ed3acddc1dbfb5d0ec3732fad..7d3e54b17cc61a78ca46c05b49b6039f5d36d028 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 472fd8fb354aa63b0a1632825dbe456a74a98be8..e313a8e798a7577b5dc6e39b96120dc6a024fdda 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 f2a3fa42f8307f8b577d4a926ebd73b24bfadf95..0f75db5d0d4035bbdd37e8fdc1b64c300aa421ce 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 0298d75bbd813a3a3a4f9fcae6909f6100777cb3..91d7238364a9f69cfdfc425b9d9ac2c5cf01801c 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 3bb0a1681818be37ef007618094ea4e320e45649..abbea2e678bf97450b0e7157f00ad7e9bf91b560 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 d6fd9b4f7c58b5d8b5cf350a44138d24610563ab..237a7a89521863eb9955ab87bf80122b1f1a1deb 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 1f978ee9f36a37e2c771427dac3032ec26f22519..1845b9634886306576260c7dff26db69bbedda20 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 50de472b2edb295af6cdeca103aeddc0eb320030..38ab55fd40b134918ac55411b13a069141bf110b 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 7f49e5c0f575f0c7c730c9088477132267899ee8..09886d130a248ed4cb80227ef1e4e046e46e1c4e 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 682ea787bc669782aa4dccdd98d4f1200944de94..74dde746d0754da5d72491cc205b18f4516e81d0 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 705ce33dd25681969204dbc809530e070d45856d..f1690e9e77e51d33fe8a4e9a28f10630237213f5 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 9898eb12c8274e2fe6b641697e42b9f32d37ddf0..71b5f774fe71cdbccc31f628483fc20ba6327368 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 30% rename from src/test/java/com/lin/TestPdfUtil/MultiToOneTest.java rename to src/test/java/com/lin/testutil/testpdfutil/MultiToOneTest.java index ab0376b2cbc90af950811d862d5d98383d05c7af..fa2b43bc5ac107006213f5a5f8f88e2017927fdd 100644 --- a/src/test/java/com/lin/TestPdfUtil/MultiToOneTest.java +++ b/src/test/java/com/lin/testutil/testpdfutil/MultiToOneTest.java @@ -1,12 +1,15 @@ -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.*; -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; /** @@ -16,32 +19,52 @@ 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"); - 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(filePath); + boolean directory = file.isDirectory(); + List bytes = new LinkedList<>(); + if (directory) { + File[] files = file.listFiles(); + for (File f : files) { + if (f.isFile() && f.getName().toLowerCase().endsWith(".pdf")) { + 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 = 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 4771f3bcf92c7933a3e0d9922f9569e46b1ffe68..0991d15d02b44b8082fff34a828bbe7edb2d7b2b 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 52a4878320531eca6c688425a43dfe7982cd1b13..e7c7709c1e9c208590bbf7a127417c33e3adc7f4 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); }