From 6c951a5f1eb089293f1cff7ce44ba514c63a7488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <九分石人@192.168.0.106> Date: Mon, 17 Feb 2020 15:05:43 +0800 Subject: [PATCH 01/39] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=BB=E5=8F=96xml?= =?UTF-8?q?=E7=9A=84=E5=B7=A5=E5=85=B7=20=E6=B7=BB=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/ExportExcelUtil.java | 8 ++++++++ src/main/java/com/lin/Util/FileUtil.java | 7 +++++++ .../java/com/lin/Util/HttpConnectionUtil.java | 7 +++++++ .../java/com/lin/Util/HttpUrlConnectionUtil.java | 2 ++ src/main/java/com/lin/Util/ImportExcelUtil.java | 7 +++++++ src/main/java/com/lin/Util/ReadXmlUtil.java | 15 +++++++++++++++ 6 files changed, 46 insertions(+) create mode 100644 src/main/java/com/lin/Util/ReadXmlUtil.java diff --git a/src/main/java/com/lin/Util/ExportExcelUtil.java b/src/main/java/com/lin/Util/ExportExcelUtil.java index 1be763a..748e494 100644 --- a/src/main/java/com/lin/Util/ExportExcelUtil.java +++ b/src/main/java/com/lin/Util/ExportExcelUtil.java @@ -15,6 +15,14 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; +/** + * excel导出工具 + * + * @author 九分石人 + * @time 2019-12-31 + * + * @param + */ @Slf4j public class ExportExcelUtil { diff --git a/src/main/java/com/lin/Util/FileUtil.java b/src/main/java/com/lin/Util/FileUtil.java index 29b9779..ed22fdc 100644 --- a/src/main/java/com/lin/Util/FileUtil.java +++ b/src/main/java/com/lin/Util/FileUtil.java @@ -5,6 +5,13 @@ import org.jetbrains.annotations.NotNull; import java.io.*; +/** + * 文件读取工具 + * + * @author 九分石人 + * @time 2019-12-31 + * + */ @Slf4j public class FileUtil { diff --git a/src/main/java/com/lin/Util/HttpConnectionUtil.java b/src/main/java/com/lin/Util/HttpConnectionUtil.java index 9b77804..b332b5c 100644 --- a/src/main/java/com/lin/Util/HttpConnectionUtil.java +++ b/src/main/java/com/lin/Util/HttpConnectionUtil.java @@ -7,6 +7,13 @@ import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; +/** + * Http连接工具 + * + * @author 九分石人 + * @time 2019-12-31 + * + */ @Slf4j public class HttpConnectionUtil { diff --git a/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java b/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java index e8505de..bb75d98 100644 --- a/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java +++ b/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java @@ -12,6 +12,8 @@ import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; /** + * Http连接工具 + * * @author com.lin, 2019-13-21 */ @Slf4j diff --git a/src/main/java/com/lin/Util/ImportExcelUtil.java b/src/main/java/com/lin/Util/ImportExcelUtil.java index d87d237..a93a47d 100644 --- a/src/main/java/com/lin/Util/ImportExcelUtil.java +++ b/src/main/java/com/lin/Util/ImportExcelUtil.java @@ -22,6 +22,13 @@ import java.io.PushbackInputStream; import java.util.ArrayList; import java.util.List; +/** + * excel导入工具 + * + * @author 九分石人 + * @time 2019-12-31 + * + */ @Slf4j public class ImportExcelUtil { diff --git a/src/main/java/com/lin/Util/ReadXmlUtil.java b/src/main/java/com/lin/Util/ReadXmlUtil.java new file mode 100644 index 0000000..82f14f6 --- /dev/null +++ b/src/main/java/com/lin/Util/ReadXmlUtil.java @@ -0,0 +1,15 @@ +package com.lin.Util; + +import lombok.extern.slf4j.Slf4j; + +/** + * Xml文件读取工具 + * + * @author 九分石人 + * @time 2020-02-17 + * + */ +@Slf4j +public class ReadXmlUtil { + +} -- Gitee From 0929bede38ffe8c5cc142707312f02be92988e98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E5=88=86=E7=9F=B3=E4=BA=BA?= <九分石人@192.168.0.106> Date: Mon, 17 Feb 2020 15:13:17 +0800 Subject: [PATCH 02/39] =?UTF-8?q?http=E8=BF=9E=E6=8E=A5=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/HttpUrlConnectionUtil.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java b/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java index bb75d98..4b86ee5 100644 --- a/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java +++ b/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java @@ -34,7 +34,7 @@ public class HttpUrlConnectionUtil { try { url = new URL(urlStr); connection = (HttpURLConnection) url.openConnection(); - SSLSocketFactory ssl = HttpUrlConnectionUtil.getSSL(); +// SSLSocketFactory ssl = HttpUrlConnectionUtil.getSSL(); // https请求需要 // connection.setSSLSocketFactory(ssl); connection.setDoOutput(true); @@ -77,7 +77,7 @@ public class HttpUrlConnectionUtil { try { url = new URL(urlStr); connection = (HttpURLConnection) url.openConnection(); - SSLSocketFactory ssl = HttpUrlConnectionUtil.getSSL(); +// SSLSocketFactory ssl = HttpUrlConnectionUtil.getSSL(); // https请求需要 // connection.setSSLSocketFactory(ssl); connection.setDoOutput(true); @@ -118,7 +118,8 @@ public class HttpUrlConnectionUtil { * @throws NoSuchAlgorithmException 异常 * @throws KeyManagementException 异常 */ - private static SSLSocketFactory getSSL() throws NoSuchProviderException, NoSuchAlgorithmException, KeyManagementException { + @SuppressWarnings("unused") + private static SSLSocketFactory getSSL() throws NoSuchProviderException, NoSuchAlgorithmException, KeyManagementException { TrustManager[] trustManager = new TrustManager[]{}; SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); sslContext.init(null, trustManager, new java.security.SecureRandom()); -- Gitee From 752fbed6050afe58f6fe471fbd717aa56edadd2e 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, 18 Feb 2020 15:09:51 +0800 Subject: [PATCH 03/39] =?UTF-8?q?=E6=B7=BB=E5=8A=A0pdf=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=EF=BC=8C=E6=B7=BB=E5=8A=A0xml=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/ExportPdfUtil.java | 14 ++++++++++++++ src/main/resources/book.xml | 0 2 files changed, 14 insertions(+) create mode 100644 src/main/java/com/lin/Util/ExportPdfUtil.java create mode 100644 src/main/resources/book.xml diff --git a/src/main/java/com/lin/Util/ExportPdfUtil.java b/src/main/java/com/lin/Util/ExportPdfUtil.java new file mode 100644 index 0000000..f4fcaf8 --- /dev/null +++ b/src/main/java/com/lin/Util/ExportPdfUtil.java @@ -0,0 +1,14 @@ +package com.lin.Util; + +import lombok.extern.slf4j.Slf4j; + +/** + * excel导出工具 + * + * @author 九分石人 + * @time 2019-12-31 + * + */ +@Slf4j +public class ExportPdfUtil { +} diff --git a/src/main/resources/book.xml b/src/main/resources/book.xml new file mode 100644 index 0000000..e69de29 -- Gitee From 26745447d63bcb7ad26764aa9e285212da318f1f 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, 18 Feb 2020 15:21:45 +0800 Subject: [PATCH 04/39] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/com/lin/TestUtil/ExportExcelTest.java | 3 +++ src/test/java/com/lin/TestUtil/FileTest.java | 3 +++ src/test/java/com/lin/TestUtil/HttpConnectionTest.java | 3 +++ src/test/java/com/lin/TestUtil/InvokeTest.java | 3 +++ 4 files changed, 12 insertions(+) diff --git a/src/test/java/com/lin/TestUtil/ExportExcelTest.java b/src/test/java/com/lin/TestUtil/ExportExcelTest.java index 17e63f7..12d3de1 100644 --- a/src/test/java/com/lin/TestUtil/ExportExcelTest.java +++ b/src/test/java/com/lin/TestUtil/ExportExcelTest.java @@ -2,6 +2,9 @@ package com.lin.TestUtil; import org.junit.Test; +/** + * excel导出测试 + */ public class ExportExcelTest { diff --git a/src/test/java/com/lin/TestUtil/FileTest.java b/src/test/java/com/lin/TestUtil/FileTest.java index 9899b62..d533837 100644 --- a/src/test/java/com/lin/TestUtil/FileTest.java +++ b/src/test/java/com/lin/TestUtil/FileTest.java @@ -8,6 +8,9 @@ import org.junit.Test; import java.io.IOException; import java.util.List; +/** + * 文件读取测试,将读取到的文件反射进对象集合中 + */ public class FileTest { diff --git a/src/test/java/com/lin/TestUtil/HttpConnectionTest.java b/src/test/java/com/lin/TestUtil/HttpConnectionTest.java index 5d4ab5d..e1eb409 100644 --- a/src/test/java/com/lin/TestUtil/HttpConnectionTest.java +++ b/src/test/java/com/lin/TestUtil/HttpConnectionTest.java @@ -4,6 +4,9 @@ import com.lin.Util.HttpConnectionUtil; import com.lin.Util.HttpUrlConnectionUtil; import org.junit.Test; +/** + * http连接测试 + */ public class HttpConnectionTest { @Test diff --git a/src/test/java/com/lin/TestUtil/InvokeTest.java b/src/test/java/com/lin/TestUtil/InvokeTest.java index 60c83ff..54efdd5 100644 --- a/src/test/java/com/lin/TestUtil/InvokeTest.java +++ b/src/test/java/com/lin/TestUtil/InvokeTest.java @@ -5,6 +5,9 @@ import com.lin.Dto.SenseCallbackDto; import java.lang.reflect.Field; import java.util.Date; +/** + * 反射测试 + */ public class InvokeTest { -- Gitee From 95f68fc57d6d56204c3ab50ea1959176da9226ae 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, 18 Feb 2020 15:43:27 +0800 Subject: [PATCH 05/39] =?UTF-8?q?xml=E8=A7=A3=E6=9E=90=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=EF=BC=8C=E8=AF=BB=E5=8F=96=E6=96=87=E4=BB=B6=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=BB=E5=8F=96=E5=88=B0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Util/{FileUtil.java => ReadFileUtil.java} | 18 ++++++++++++++++-- src/main/java/com/lin/Util/ReadXmlUtil.java | 16 ++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) rename src/main/java/com/lin/Util/{FileUtil.java => ReadFileUtil.java} (85%) diff --git a/src/main/java/com/lin/Util/FileUtil.java b/src/main/java/com/lin/Util/ReadFileUtil.java similarity index 85% rename from src/main/java/com/lin/Util/FileUtil.java rename to src/main/java/com/lin/Util/ReadFileUtil.java index ed22fdc..aafa450 100644 --- a/src/main/java/com/lin/Util/FileUtil.java +++ b/src/main/java/com/lin/Util/ReadFileUtil.java @@ -13,7 +13,21 @@ import java.io.*; * */ @Slf4j -public class FileUtil { +public class ReadFileUtil { + + /** + * 将文件读到一个file对象中 + * + * @param filePath 文件路径 + * @return 文件内容 + */ + private static File readToFile(String filePath){ + + + + return null; + } + /** @@ -62,7 +76,7 @@ public class FileUtil { @NotNull public static String readFile(String filePath) { StringBuffer sb = new StringBuffer(); - FileUtil.readToBuffer(sb, filePath); + ReadFileUtil.readToBuffer(sb, filePath); return sb.toString(); } diff --git a/src/main/java/com/lin/Util/ReadXmlUtil.java b/src/main/java/com/lin/Util/ReadXmlUtil.java index 82f14f6..5b0a2f5 100644 --- a/src/main/java/com/lin/Util/ReadXmlUtil.java +++ b/src/main/java/com/lin/Util/ReadXmlUtil.java @@ -1,6 +1,13 @@ package com.lin.Util; import lombok.extern.slf4j.Slf4j; +import org.w3c.dom.Document; +import org.xml.sax.SAXException; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import java.io.IOException; /** * Xml文件读取工具 @@ -12,4 +19,13 @@ import lombok.extern.slf4j.Slf4j; @Slf4j public class ReadXmlUtil { + public void ReadXml() throws ParserConfigurationException, IOException, SAXException { + + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); + Document document = documentBuilder.parse("classpath:book.xml"); + + } + + } -- Gitee From 8d300f97f24dd93c1c8825fd6de785cd94621105 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, 18 Feb 2020 15:56:47 +0800 Subject: [PATCH 06/39] =?UTF-8?q?=E5=B7=A5=E5=85=B7=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lin/Util/{ExportExcelUtil.java => ExcelExportUtil.java} | 6 +++--- .../lin/Util/{ImportExcelUtil.java => ExcelImportUtil.java} | 2 +- .../com/lin/Util/{ReadFileUtil.java => FileReadUtil.java} | 4 ++-- src/main/java/com/lin/Util/FileWriteUtil.java | 4 ++++ .../com/lin/Util/{ExportPdfUtil.java => PdfExportUtil.java} | 2 +- .../com/lin/Util/{ReadXmlUtil.java => XmlParseUtil.java} | 2 +- 6 files changed, 12 insertions(+), 8 deletions(-) rename src/main/java/com/lin/Util/{ExportExcelUtil.java => ExcelExportUtil.java} (96%) rename src/main/java/com/lin/Util/{ImportExcelUtil.java => ExcelImportUtil.java} (99%) rename src/main/java/com/lin/Util/{ReadFileUtil.java => FileReadUtil.java} (96%) create mode 100644 src/main/java/com/lin/Util/FileWriteUtil.java rename src/main/java/com/lin/Util/{ExportPdfUtil.java => PdfExportUtil.java} (83%) rename src/main/java/com/lin/Util/{ReadXmlUtil.java => XmlParseUtil.java} (96%) diff --git a/src/main/java/com/lin/Util/ExportExcelUtil.java b/src/main/java/com/lin/Util/ExcelExportUtil.java similarity index 96% rename from src/main/java/com/lin/Util/ExportExcelUtil.java rename to src/main/java/com/lin/Util/ExcelExportUtil.java index 748e494..8b47bb7 100644 --- a/src/main/java/com/lin/Util/ExportExcelUtil.java +++ b/src/main/java/com/lin/Util/ExcelExportUtil.java @@ -24,7 +24,7 @@ import java.util.List; * @param */ @Slf4j -public class ExportExcelUtil { +public class ExcelExportUtil { /** @@ -45,10 +45,10 @@ public class ExportExcelUtil { List listError = new ArrayList<>(); listError.add("数据量超过5000,无法导出"); String[] titleError = new String[]{"数据量超过5000,无法导出"}; - excel = ExportExcelUtil.getExcel(list, titleError); + excel = ExcelExportUtil.getExcel(list, titleError); } else { // 制作导出文件 - excel = ExportExcelUtil.getExcel(list, title); + excel = ExcelExportUtil.getExcel(list, title); } fileName = new String((fileName + ".xls").getBytes(), StandardCharsets.ISO_8859_1); diff --git a/src/main/java/com/lin/Util/ImportExcelUtil.java b/src/main/java/com/lin/Util/ExcelImportUtil.java similarity index 99% rename from src/main/java/com/lin/Util/ImportExcelUtil.java rename to src/main/java/com/lin/Util/ExcelImportUtil.java index a93a47d..ebd33b6 100644 --- a/src/main/java/com/lin/Util/ImportExcelUtil.java +++ b/src/main/java/com/lin/Util/ExcelImportUtil.java @@ -30,7 +30,7 @@ import java.util.List; * */ @Slf4j -public class ImportExcelUtil { +public class ExcelImportUtil { /** * 导入Excel diff --git a/src/main/java/com/lin/Util/ReadFileUtil.java b/src/main/java/com/lin/Util/FileReadUtil.java similarity index 96% rename from src/main/java/com/lin/Util/ReadFileUtil.java rename to src/main/java/com/lin/Util/FileReadUtil.java index aafa450..4f3b932 100644 --- a/src/main/java/com/lin/Util/ReadFileUtil.java +++ b/src/main/java/com/lin/Util/FileReadUtil.java @@ -13,7 +13,7 @@ import java.io.*; * */ @Slf4j -public class ReadFileUtil { +public class FileReadUtil { /** * 将文件读到一个file对象中 @@ -76,7 +76,7 @@ public class ReadFileUtil { @NotNull public static String readFile(String filePath) { StringBuffer sb = new StringBuffer(); - ReadFileUtil.readToBuffer(sb, filePath); + FileReadUtil.readToBuffer(sb, filePath); return sb.toString(); } diff --git a/src/main/java/com/lin/Util/FileWriteUtil.java b/src/main/java/com/lin/Util/FileWriteUtil.java new file mode 100644 index 0000000..4780523 --- /dev/null +++ b/src/main/java/com/lin/Util/FileWriteUtil.java @@ -0,0 +1,4 @@ +package com.lin.Util; + +public class FileWriteUtil { +} diff --git a/src/main/java/com/lin/Util/ExportPdfUtil.java b/src/main/java/com/lin/Util/PdfExportUtil.java similarity index 83% rename from src/main/java/com/lin/Util/ExportPdfUtil.java rename to src/main/java/com/lin/Util/PdfExportUtil.java index f4fcaf8..34a9fb8 100644 --- a/src/main/java/com/lin/Util/ExportPdfUtil.java +++ b/src/main/java/com/lin/Util/PdfExportUtil.java @@ -10,5 +10,5 @@ import lombok.extern.slf4j.Slf4j; * */ @Slf4j -public class ExportPdfUtil { +public class PdfExportUtil { } diff --git a/src/main/java/com/lin/Util/ReadXmlUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java similarity index 96% rename from src/main/java/com/lin/Util/ReadXmlUtil.java rename to src/main/java/com/lin/Util/XmlParseUtil.java index 5b0a2f5..16ed0f8 100644 --- a/src/main/java/com/lin/Util/ReadXmlUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -17,7 +17,7 @@ import java.io.IOException; * */ @Slf4j -public class ReadXmlUtil { +public class XmlParseUtil { public void ReadXml() throws ParserConfigurationException, IOException, SAXException { -- Gitee From 82f85665a61cf6b2628577b37ea7d5336c74d459 Mon Sep 17 00:00:00 2001 From: linqiankun Date: Wed, 19 Feb 2020 16:46:52 +0800 Subject: [PATCH 07/39] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/com/lin/AppTest.java | 5 ++++- src/test/java/com/lin/TestUtil/FileTest.java | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/lin/AppTest.java b/src/test/java/com/lin/AppTest.java index dbadd8e..61a5119 100644 --- a/src/test/java/com/lin/AppTest.java +++ b/src/test/java/com/lin/AppTest.java @@ -13,6 +13,9 @@ public class AppTest { */ @Test public void shouldAnswerWithTrue() { - assertTrue(true); + int num = 50 ; + num = num ++ * 2 ; + System.out.println(num) ; + } } diff --git a/src/test/java/com/lin/TestUtil/FileTest.java b/src/test/java/com/lin/TestUtil/FileTest.java index d533837..e59c0e0 100644 --- a/src/test/java/com/lin/TestUtil/FileTest.java +++ b/src/test/java/com/lin/TestUtil/FileTest.java @@ -2,7 +2,7 @@ package com.lin.TestUtil; import com.alibaba.fastjson.JSON; import com.lin.Dto.SenseCallbackDto; -import com.lin.Util.FileUtil; +import com.lin.Util.FileReadUtil; import org.junit.Test; import java.io.IOException; @@ -18,7 +18,7 @@ public class FileTest { @Test public void fileTest() throws IOException { - String s = FileUtil.readFile("/Users/linqiankun/Desktop/test"); + String s = FileReadUtil.readFile("/Users/linqiankun/Desktop/test"); List reslutList = JSON.parseArray(s, SenseCallbackDto.class); System.out.println(reslutList.size()); -- Gitee From 7ce7e9ae5716ff5551ad1a23c6c709adb7858a17 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, 19 Feb 2020 16:57:45 +0800 Subject: [PATCH 08/39] =?UTF-8?q?=E4=B8=BB=E7=B1=BB?= 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, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index f88259d..0c23697 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -1,10 +1,10 @@ package com.lin; /** - * Hello world! + * Hello Utils! */ public class App { public static void main(String[] args) { - System.out.println("Hello World!"); + System.out.println("Hello Utils"); } } -- Gitee From e2ba8014f9c6a2ce87075285dfb18a23c5b2e817 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, 19 Feb 2020 17:03:18 +0800 Subject: [PATCH 09/39] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= 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 0c23697..b851e5c 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -5,6 +5,7 @@ package com.lin; */ public class App { public static void main(String[] args) { + System.out.println("Hello Utils"); } } -- Gitee From 916b5b9aa22b8c2e7cc6b1ffa30113cdbcbad11b 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, 19 Feb 2020 17:17:49 +0800 Subject: [PATCH 10/39] =?UTF-8?q?=E5=B0=86=E6=96=87=E4=BB=B6=E8=AF=BB?= =?UTF-8?q?=E5=85=A5File=E5=AF=B9=E8=B1=A1=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/FileReadUtil.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/lin/Util/FileReadUtil.java b/src/main/java/com/lin/Util/FileReadUtil.java index 4f3b932..56440b5 100644 --- a/src/main/java/com/lin/Util/FileReadUtil.java +++ b/src/main/java/com/lin/Util/FileReadUtil.java @@ -7,10 +7,9 @@ import java.io.*; /** * 文件读取工具 - * + * * @author 九分石人 * @time 2019-12-31 - * */ @Slf4j public class FileReadUtil { @@ -21,15 +20,12 @@ public class FileReadUtil { * @param filePath 文件路径 * @return 文件内容 */ - private static File readToFile(String filePath){ - - - - return null; + @NotNull + private static File readToFile(String filePath) { + return new File(filePath); } - /** * 将文本文件中的内容读入到buffer中 * -- Gitee From b9a37096b9880053887f759c82ba423c09585b1d 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, 19 Feb 2020 17:23:29 +0800 Subject: [PATCH 11/39] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/ExcelImportUtil.java | 1 - src/main/java/com/lin/Util/FileWriteUtil.java | 9 +++++++++ src/main/java/com/lin/Util/HttpConnectionUtil.java | 1 - src/main/java/com/lin/Util/PdfExportUtil.java | 1 - src/main/java/com/lin/Util/XmlParseUtil.java | 1 - 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lin/Util/ExcelImportUtil.java b/src/main/java/com/lin/Util/ExcelImportUtil.java index ebd33b6..42b8cf5 100644 --- a/src/main/java/com/lin/Util/ExcelImportUtil.java +++ b/src/main/java/com/lin/Util/ExcelImportUtil.java @@ -27,7 +27,6 @@ import java.util.List; * * @author 九分石人 * @time 2019-12-31 - * */ @Slf4j public class ExcelImportUtil { diff --git a/src/main/java/com/lin/Util/FileWriteUtil.java b/src/main/java/com/lin/Util/FileWriteUtil.java index 4780523..3b50f35 100644 --- a/src/main/java/com/lin/Util/FileWriteUtil.java +++ b/src/main/java/com/lin/Util/FileWriteUtil.java @@ -1,4 +1,13 @@ package com.lin.Util; +import lombok.extern.slf4j.Slf4j; + +/** + * 文件写入工具 + * + * @author 九分石人 + * @time 2020-02-19 + */ +@Slf4j public class FileWriteUtil { } diff --git a/src/main/java/com/lin/Util/HttpConnectionUtil.java b/src/main/java/com/lin/Util/HttpConnectionUtil.java index b332b5c..226021e 100644 --- a/src/main/java/com/lin/Util/HttpConnectionUtil.java +++ b/src/main/java/com/lin/Util/HttpConnectionUtil.java @@ -12,7 +12,6 @@ import java.net.URLEncoder; * * @author 九分石人 * @time 2019-12-31 - * */ @Slf4j public class HttpConnectionUtil { diff --git a/src/main/java/com/lin/Util/PdfExportUtil.java b/src/main/java/com/lin/Util/PdfExportUtil.java index 34a9fb8..1675ad7 100644 --- a/src/main/java/com/lin/Util/PdfExportUtil.java +++ b/src/main/java/com/lin/Util/PdfExportUtil.java @@ -7,7 +7,6 @@ import lombok.extern.slf4j.Slf4j; * * @author 九分石人 * @time 2019-12-31 - * */ @Slf4j public class PdfExportUtil { diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index 16ed0f8..5b1df74 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -14,7 +14,6 @@ import java.io.IOException; * * @author 九分石人 * @time 2020-02-17 - * */ @Slf4j public class XmlParseUtil { -- Gitee From f5e5b825883c83f99adc9b9eebe77404a35c9053 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, 19 Feb 2020 17:38:51 +0800 Subject: [PATCH 12/39] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/FileReadUtil.java | 3 ++- src/main/java/com/lin/Util/FileWriteUtil.java | 23 +++++++++++++++++++ .../java/com/lin/Util/HttpConnectionUtil.java | 10 ++++---- .../com/lin/Util/HttpUrlConnectionUtil.java | 9 ++++++-- src/main/java/com/lin/Util/PdfExportUtil.java | 2 +- 5 files changed, 38 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/lin/Util/FileReadUtil.java b/src/main/java/com/lin/Util/FileReadUtil.java index 56440b5..1b2157e 100644 --- a/src/main/java/com/lin/Util/FileReadUtil.java +++ b/src/main/java/com/lin/Util/FileReadUtil.java @@ -19,6 +19,7 @@ public class FileReadUtil { * * @param filePath 文件路径 * @return 文件内容 + * @author com.lin, 2019-02-18 */ @NotNull private static File readToFile(String filePath) { @@ -67,7 +68,7 @@ public class FileReadUtil { * * @param filePath 文件所在路径 * @return 文本内容 - * @author com.lin, 2019-13-19 + * @author com.lin, 2019-12-19 */ @NotNull public static String readFile(String filePath) { diff --git a/src/main/java/com/lin/Util/FileWriteUtil.java b/src/main/java/com/lin/Util/FileWriteUtil.java index 3b50f35..8989c34 100644 --- a/src/main/java/com/lin/Util/FileWriteUtil.java +++ b/src/main/java/com/lin/Util/FileWriteUtil.java @@ -2,6 +2,9 @@ package com.lin.Util; import lombok.extern.slf4j.Slf4j; +import java.io.File; +import java.io.IOException; + /** * 文件写入工具 * @@ -10,4 +13,24 @@ import lombok.extern.slf4j.Slf4j; */ @Slf4j public class FileWriteUtil { + + /** + * 将内容写出到具体文件 + * + * @param filePath 要写出的文件路径 + * @author com.lin, 2020-02-19 + */ + public static void writeToFile(String filePath) { + File file = new File(filePath); + try { + if (!file.exists()) { + boolean newFile = file.createNewFile(); + } + } catch (IOException e) { + log.error(e.getMessage()); + } + + + } + } diff --git a/src/main/java/com/lin/Util/HttpConnectionUtil.java b/src/main/java/com/lin/Util/HttpConnectionUtil.java index 226021e..c28a52b 100644 --- a/src/main/java/com/lin/Util/HttpConnectionUtil.java +++ b/src/main/java/com/lin/Util/HttpConnectionUtil.java @@ -26,7 +26,7 @@ public class HttpConnectionUtil { * * @param url url地址 * @return 返回的信息 - * @author com.lin, 2019-13-20 + * @author com.lin, 2019-12-20 */ public static String sendGet(String url) { HttpURLConnection connection = null; @@ -67,7 +67,7 @@ public class HttpConnectionUtil { * @param url url地址 * @param body 发送的信息 * @return 返回的信息 - * @author com.lin, 2019-13-20 + * @author com.lin, 2019-12-20 */ public static String sendPost(String url, String body) { HttpURLConnection connection = null; @@ -112,7 +112,7 @@ public class HttpConnectionUtil { * @param conn url连接 * @param out 输出流 * @param in 输入流 - * @author com.lin, 2019-13-20 + * @author com.lin, 2019-12-20 */ private static void closeConnection(HttpURLConnection conn, Writer out, InputStream in) { try { @@ -136,7 +136,7 @@ public class HttpConnectionUtil { * @param inputStream 输入流 * @param encode 编码 * @return 从输入流获取的字符串 - * @author com.lin, 2019-13-20 + * @author com.lin, 2019-12-20 */ private static String changeInputStream(InputStream inputStream, String encode) { @@ -165,7 +165,7 @@ public class HttpConnectionUtil { * @param url 原url 包含 * @return newURL 新的Url * @throws UnsupportedEncodingException 编码异常 - * @author com.lin, 2019-13-19 + * @author com.lin, 2019-12-19 */ private static String getNewUrlByUrlEncodeParam(String url) throws UnsupportedEncodingException { StringBuilder urlForEncode = new StringBuilder(); diff --git a/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java b/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java index 4b86ee5..3e6594d 100644 --- a/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java +++ b/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java @@ -3,7 +3,9 @@ package com.lin.Util; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; -import javax.net.ssl.*; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; import java.io.DataOutputStream; import java.net.HttpURLConnection; import java.net.URL; @@ -14,7 +16,7 @@ import java.security.NoSuchProviderException; /** * Http连接工具 * - * @author com.lin, 2019-13-21 + * @author com.lin, 2019-12-21 */ @Slf4j public class HttpUrlConnectionUtil { @@ -27,6 +29,7 @@ public class HttpUrlConnectionUtil { * * @param urlStr url地址 * @return 返回的信息 + * @author com.lin, 2019-12-21 */ public static String doGet(String urlStr) { URL url; @@ -70,6 +73,7 @@ public class HttpUrlConnectionUtil { * @param urlStr url地址 * @param content 发送的信息 * @return 返回的信息 + * @author com.lin, 2019-12-21 */ public static String doPost(String urlStr, String content) { URL url; @@ -117,6 +121,7 @@ public class HttpUrlConnectionUtil { * @throws NoSuchProviderException 异常 * @throws NoSuchAlgorithmException 异常 * @throws KeyManagementException 异常 + * @author com.lin, 2019-12-21 */ @SuppressWarnings("unused") private static SSLSocketFactory getSSL() throws NoSuchProviderException, NoSuchAlgorithmException, KeyManagementException { diff --git a/src/main/java/com/lin/Util/PdfExportUtil.java b/src/main/java/com/lin/Util/PdfExportUtil.java index 1675ad7..4d7cf86 100644 --- a/src/main/java/com/lin/Util/PdfExportUtil.java +++ b/src/main/java/com/lin/Util/PdfExportUtil.java @@ -6,7 +6,7 @@ import lombok.extern.slf4j.Slf4j; * excel导出工具 * * @author 九分石人 - * @time 2019-12-31 + * @time 2020-02-17 */ @Slf4j public class PdfExportUtil { -- Gitee From 344b6e1bbe706d9acc584a313bb1fe08e0289e75 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, 20 Feb 2020 10:06:18 +0800 Subject: [PATCH 13/39] =?UTF-8?q?=E5=B0=86=E5=AD=97=E7=AC=A6=E4=B8=B2?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=86=99=E5=85=A5=E5=88=B0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/FileReadUtil.java | 12 +++++--- src/main/java/com/lin/Util/FileWriteUtil.java | 29 ++++++++++++++++--- src/test/java/com/lin/AppTest.java | 11 +++---- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/lin/Util/FileReadUtil.java b/src/main/java/com/lin/Util/FileReadUtil.java index 1b2157e..8398130 100644 --- a/src/main/java/com/lin/Util/FileReadUtil.java +++ b/src/main/java/com/lin/Util/FileReadUtil.java @@ -23,7 +23,11 @@ public class FileReadUtil { */ @NotNull private static File readToFile(String filePath) { - return new File(filePath); + File file = new File(filePath); + if(file.exists()){ + return file; + } + return null; } @@ -53,9 +57,9 @@ public class FileReadUtil { log.error(e.getMessage()); } finally { try { - if (is != null) - reader.close(); if (reader != null) + reader.close(); + if (is != null) is.close(); } catch (IOException e) { log.error(e.getMessage()); @@ -64,7 +68,7 @@ public class FileReadUtil { } /** - * 读取文本文件内容 + * 读取文本文件内容到字符串 * * @param filePath 文件所在路径 * @return 文本内容 diff --git a/src/main/java/com/lin/Util/FileWriteUtil.java b/src/main/java/com/lin/Util/FileWriteUtil.java index 8989c34..b1a025e 100644 --- a/src/main/java/com/lin/Util/FileWriteUtil.java +++ b/src/main/java/com/lin/Util/FileWriteUtil.java @@ -2,8 +2,7 @@ package com.lin.Util; import lombok.extern.slf4j.Slf4j; -import java.io.File; -import java.io.IOException; +import java.io.*; /** * 文件写入工具 @@ -15,12 +14,12 @@ import java.io.IOException; public class FileWriteUtil { /** - * 将内容写出到具体文件 + * 将字符串内容写出到具体文件 * * @param filePath 要写出的文件路径 * @author com.lin, 2020-02-19 */ - public static void writeToFile(String filePath) { + public static void writeToFile(String string, String filePath) { File file = new File(filePath); try { if (!file.exists()) { @@ -29,6 +28,28 @@ public class FileWriteUtil { } catch (IOException e) { log.error(e.getMessage()); } + FileOutputStream outputStream = null; + BufferedWriter writer = null; + try { + outputStream = new FileOutputStream(file); + writer = new BufferedWriter(new OutputStreamWriter(outputStream)); + + + writer.write(string); + } catch (FileNotFoundException e) { + log.error(e.getMessage()); + } catch (IOException e) { + log.error(e.getMessage()); + } finally { + try { + if (writer != null) + writer.close(); + if (outputStream != null) + outputStream.close(); + } catch (IOException e) { + log.error(e.getMessage()); + } + } } diff --git a/src/test/java/com/lin/AppTest.java b/src/test/java/com/lin/AppTest.java index 61a5119..3f288e2 100644 --- a/src/test/java/com/lin/AppTest.java +++ b/src/test/java/com/lin/AppTest.java @@ -1,7 +1,5 @@ package com.lin; -import static org.junit.Assert.assertTrue; - import org.junit.Test; /** @@ -13,9 +11,12 @@ public class AppTest { */ @Test public void shouldAnswerWithTrue() { - int num = 50 ; - num = num ++ * 2 ; - System.out.println(num) ; + int num = 50; + int j = 0; + num = (j = (num++)) * 2; + System.out.println(num); + System.out.println(j); + } } -- Gitee From 4ea0d2c2bb1223667ebbbb0124799078f4fd2896 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, 20 Feb 2020 10:11:33 +0800 Subject: [PATCH 14/39] =?UTF-8?q?=E6=8A=BD=E5=8F=96=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/FileReadUtil.java | 2 +- src/main/java/com/lin/Util/FileWriteUtil.java | 27 +++++++++++++------ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/lin/Util/FileReadUtil.java b/src/main/java/com/lin/Util/FileReadUtil.java index 8398130..7fe5050 100644 --- a/src/main/java/com/lin/Util/FileReadUtil.java +++ b/src/main/java/com/lin/Util/FileReadUtil.java @@ -15,7 +15,7 @@ import java.io.*; public class FileReadUtil { /** - * 将文件读到一个file对象中 + * 通过文件获取File对象 * * @param filePath 文件路径 * @return 文件内容 diff --git a/src/main/java/com/lin/Util/FileWriteUtil.java b/src/main/java/com/lin/Util/FileWriteUtil.java index b1a025e..194f18c 100644 --- a/src/main/java/com/lin/Util/FileWriteUtil.java +++ b/src/main/java/com/lin/Util/FileWriteUtil.java @@ -13,13 +13,15 @@ import java.io.*; @Slf4j public class FileWriteUtil { + /** - * 将字符串内容写出到具体文件 + * 判断文件是否存在,不存在则创建文件 * - * @param filePath 要写出的文件路径 - * @author com.lin, 2020-02-19 + * @param filePath 文件路径 + * @return 文件对象 + * @author com.lin, 2020-02-20 */ - public static void writeToFile(String string, String filePath) { + public static File canCreatFile(String filePath) { File file = new File(filePath); try { if (!file.exists()) { @@ -28,13 +30,24 @@ public class FileWriteUtil { } catch (IOException e) { log.error(e.getMessage()); } + return file; + } + + + /** + * 将字符串内容写出到具体文件 + * + * @param string 要写出的文件内容 + * @param filePath 要写出的文件路径 + * @author com.lin, 2020-02-19 + */ + public static void writeToFile(String string, String filePath) { + File file = FileWriteUtil.canCreatFile(filePath); FileOutputStream outputStream = null; BufferedWriter writer = null; try { outputStream = new FileOutputStream(file); writer = new BufferedWriter(new OutputStreamWriter(outputStream)); - - writer.write(string); } catch (FileNotFoundException e) { log.error(e.getMessage()); @@ -50,8 +63,6 @@ public class FileWriteUtil { log.error(e.getMessage()); } } - - } } -- Gitee From 75dbb091c72dd0a62a8405293f8861571786428c 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, 20 Feb 2020 10:13:56 +0800 Subject: [PATCH 15/39] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/FileReadUtil.java | 2 +- src/main/java/com/lin/Util/FileWriteUtil.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lin/Util/FileReadUtil.java b/src/main/java/com/lin/Util/FileReadUtil.java index 7fe5050..e83d8c6 100644 --- a/src/main/java/com/lin/Util/FileReadUtil.java +++ b/src/main/java/com/lin/Util/FileReadUtil.java @@ -75,7 +75,7 @@ public class FileReadUtil { * @author com.lin, 2019-12-19 */ @NotNull - public static String readFile(String filePath) { + public static String readFileToString(String filePath) { StringBuffer sb = new StringBuffer(); FileReadUtil.readToBuffer(sb, filePath); return sb.toString(); diff --git a/src/main/java/com/lin/Util/FileWriteUtil.java b/src/main/java/com/lin/Util/FileWriteUtil.java index 194f18c..951fb6f 100644 --- a/src/main/java/com/lin/Util/FileWriteUtil.java +++ b/src/main/java/com/lin/Util/FileWriteUtil.java @@ -41,7 +41,7 @@ public class FileWriteUtil { * @param filePath 要写出的文件路径 * @author com.lin, 2020-02-19 */ - public static void writeToFile(String string, String filePath) { + public static void writeFromString(String string, String filePath) { File file = FileWriteUtil.canCreatFile(filePath); FileOutputStream outputStream = null; BufferedWriter writer = null; -- Gitee From 99a5dd70b6aa2390044c839fececd8d60e6df179 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, 20 Feb 2020 10:42:01 +0800 Subject: [PATCH 16/39] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/FileWriteUtil.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/main/java/com/lin/Util/FileWriteUtil.java b/src/main/java/com/lin/Util/FileWriteUtil.java index 951fb6f..3e2bf08 100644 --- a/src/main/java/com/lin/Util/FileWriteUtil.java +++ b/src/main/java/com/lin/Util/FileWriteUtil.java @@ -65,4 +65,36 @@ public class FileWriteUtil { } } + /** + * 将输入流内容写出到具体文件 + * + * @param inputStream 要写出的输入流 + * @param filePath 要写出的文件路径 + * @author com.lin, 2020-02-20 + */ + public static void writeFromInputStream(InputStream inputStream, String filePath) { + File file = FileWriteUtil.canCreatFile(filePath); + FileOutputStream outputStream = null; + try { + byte[] b = new byte[1024]; + int i; + outputStream = new FileOutputStream(file); + while ((i = inputStream.read(b)) > 0) { + outputStream.write(b); + } + } catch (FileNotFoundException e) { + log.error(e.getMessage()); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + if (outputStream != null) + outputStream.close(); + } catch (IOException e) { + log.error(e.getMessage()); + } + } + + } + } -- Gitee From 3968980b12ebd8c104e69335300c1b188bfc91fb 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, 20 Feb 2020 11:58:37 +0800 Subject: [PATCH 17/39] =?UTF-8?q?PDF=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 22 ++++++++++--- src/main/java/com/lin/Util/PdfExportUtil.java | 33 +++++++++++++++++++ src/test/java/com/lin/TestUtil/FileTest.java | 2 +- 3 files changed, 51 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 98f0b2e..bce3364 100644 --- a/pom.xml +++ b/pom.xml @@ -33,11 +33,6 @@ lombok 1.16.8 - - org.apache.poi - poi-ooxml - 3.14 - javax.servlet servlet-api @@ -60,6 +55,23 @@ slf4j-api 1.6.4 + + + com.itextpdf + itextpdf + 5.5.10 + + + com.itextpdf + itext-asian + 5.2.0 + + + + org.apache.poi + poi-ooxml + 3.14 + diff --git a/src/main/java/com/lin/Util/PdfExportUtil.java b/src/main/java/com/lin/Util/PdfExportUtil.java index 4d7cf86..1e41ffe 100644 --- a/src/main/java/com/lin/Util/PdfExportUtil.java +++ b/src/main/java/com/lin/Util/PdfExportUtil.java @@ -1,7 +1,15 @@ package com.lin.Util; +import com.itextpdf.text.Document; +import com.itextpdf.text.DocumentException; +import com.itextpdf.text.Paragraph; +import com.itextpdf.text.pdf.PdfWriter; import lombok.extern.slf4j.Slf4j; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; + /** * excel导出工具 * @@ -10,4 +18,29 @@ import lombok.extern.slf4j.Slf4j; */ @Slf4j public class PdfExportUtil { + + /** + * 保存pdf文件到本地 + * + * @param document + * @param filepath + */ + public static void writePdfToFile(Document document, String filepath) { + File file = FileWriteUtil.canCreatFile(filepath); + FileOutputStream out = null; + try { + out = new FileOutputStream(file); + PdfWriter.getInstance(document, out); + document.open(); + document.add(new Paragraph("")); + document.close(); + + } catch (DocumentException e) { + log.error(e.getMessage()); + } catch (FileNotFoundException e) { + log.error(e.getMessage()); + } + + } + } diff --git a/src/test/java/com/lin/TestUtil/FileTest.java b/src/test/java/com/lin/TestUtil/FileTest.java index e59c0e0..7f10e33 100644 --- a/src/test/java/com/lin/TestUtil/FileTest.java +++ b/src/test/java/com/lin/TestUtil/FileTest.java @@ -18,7 +18,7 @@ public class FileTest { @Test public void fileTest() throws IOException { - String s = FileReadUtil.readFile("/Users/linqiankun/Desktop/test"); + String s = FileReadUtil.readFileToString("/Users/linqiankun/Desktop/test"); List reslutList = JSON.parseArray(s, SenseCallbackDto.class); System.out.println(reslutList.size()); -- Gitee From 25fb435535040b8ba00515d1aa1677120ac82e0b 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, 20 Feb 2020 16:32:28 +0800 Subject: [PATCH 18/39] =?UTF-8?q?Xml=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/XmlParseUtil.java | 41 +++++++++++++++++--- src/main/resources/book.xml | 15 +++++++ src/test/java/com/lin/AppTest.java | 14 ++++--- 3 files changed, 60 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index 5b1df74..e4cad3c 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -2,6 +2,9 @@ package com.lin.Util; import lombok.extern.slf4j.Slf4j; import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import javax.xml.parsers.DocumentBuilder; @@ -11,18 +14,46 @@ import java.io.IOException; /** * Xml文件读取工具 - * + * * @author 九分石人 * @time 2020-02-17 */ @Slf4j public class XmlParseUtil { - public void ReadXml() throws ParserConfigurationException, IOException, SAXException { + public void ReadXml() { + try { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); + Document document = documentBuilder.parse("classpath:book.xml"); + //根据标签名获取所有根结点的集合 + NodeList elementsByTagName = document.getElementsByTagName("book"); + for (int i = 0; i < elementsByTagName.getLength(); i++) { + Node item = elementsByTagName.item(i); + //获取节点所有的属性 + NamedNodeMap attributes = item.getAttributes(); + for (int j = 0; j < attributes.getLength(); j++) { + Node attr = attributes.item(j); + //属性型节点获取属性名 + String nodeName = attr.getNodeName(); + //属性型节点获取属性值 + String nodeValue = attr.getNodeValue(); + + } + //获取节点所有自己点 + + + } + + + } catch (SAXException e) { + log.error(e.getMessage()); + } catch (IOException e) { + log.error(e.getMessage()); + } catch (ParserConfigurationException e) { + log.error(e.getMessage()); + } - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); - Document document = documentBuilder.parse("classpath:book.xml"); } diff --git a/src/main/resources/book.xml b/src/main/resources/book.xml index e69de29..22b2785 100644 --- a/src/main/resources/book.xml +++ b/src/main/resources/book.xml @@ -0,0 +1,15 @@ + + + + 冰与火之歌 + 乔治马丁 + 2014 + 89 + + + 安徒生童话 + 2004 + 98 + English + + \ 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 3f288e2..4f73e47 100644 --- a/src/test/java/com/lin/AppTest.java +++ b/src/test/java/com/lin/AppTest.java @@ -11,12 +11,16 @@ public class AppTest { */ @Test public void shouldAnswerWithTrue() { - int num = 50; - int j = 0; - num = (j = (num++)) * 2; - System.out.println(num); - System.out.println(j); +// int num = 50; +// int j = 0; +// num = (j = (num++)) * 2; +// System.out.println(num); +// System.out.println(j); + + String s = "101 00"; + System.out.println(s.charAt(0)); + } } -- Gitee From b33a8dc7c489ec59df44ef3a878bc8771e05bef5 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, 20 Feb 2020 17:08:37 +0800 Subject: [PATCH 19/39] =?UTF-8?q?Xml=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/XmlParseUtil.java | 92 +++++++++++++++----- 1 file changed, 69 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index e4cad3c..6d4a1de 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -11,6 +11,8 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; /** * Xml文件读取工具 @@ -21,41 +23,85 @@ import java.io.IOException; @Slf4j public class XmlParseUtil { - public void ReadXml() { + /** + * 根据节点获取节点的属性值 + * + * @param node 要获取属性值的节点 + * @return 节点的属性值 + * @author com.lin, 2020-02-20 + */ + public static Map getAttrByNode(Node node) { + Map attrMap = new HashMap<>(); + NamedNodeMap attributes = node.getAttributes(); + for (int j = 0; j < attributes.getLength(); j++) { + Node attr = attributes.item(j); + String nodeName = attr.getNodeName(); + String nodeValue = attr.getNodeValue(); + attrMap.put(nodeName, nodeValue); + } + return attrMap; + } + + /** + * 获取节点的子节点名和子节点值 + * + * @param node 要获取子节点名和值的节点 + * @return 子节点的名和值 + * @author com.lin, 2020-02-20 + */ + public static Map getChildNodeValueByNode(Node node) { + Map nodeMap = new HashMap<>(); + NodeList childNodes = node.getChildNodes(); + for (int j = 0; j < childNodes.getLength(); j++) { + //排除掉换行造成的无效节点 + if (childNodes.item(j).getNodeType() == Node.ELEMENT_NODE) { + String nodeName = childNodes.item(j).getNodeName(); + String nodeValue = childNodes.item(j).getFirstChild().getNodeValue(); + nodeMap.put(nodeName, nodeValue); + } + } + return nodeMap; + } + + /** + * 读取Xml文件,后续根据此方法进行修改,进行二次开发 + * + * @author com.lin, 2020-02-19 + */ + public static void ReadXml() { try { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); - Document document = documentBuilder.parse("classpath:book.xml"); + Document document = getDocument(); //根据标签名获取所有根结点的集合 NodeList elementsByTagName = document.getElementsByTagName("book"); for (int i = 0; i < elementsByTagName.getLength(); i++) { Node item = elementsByTagName.item(i); - //获取节点所有的属性 - NamedNodeMap attributes = item.getAttributes(); - for (int j = 0; j < attributes.getLength(); j++) { - Node attr = attributes.item(j); - //属性型节点获取属性名 - String nodeName = attr.getNodeName(); - //属性型节点获取属性值 - String nodeValue = attr.getNodeValue(); - - } - //获取节点所有自己点 - + //获取节点的所有属性 + Map attrMap = XmlParseUtil.getAttrByNode(item); + //获取节点所有子节点值 + Map childNodeValueByNode = XmlParseUtil.getChildNodeValueByNode(item); } - - - } catch (SAXException e) { - log.error(e.getMessage()); - } catch (IOException e) { - log.error(e.getMessage()); - } catch (ParserConfigurationException e) { + } catch (SAXException | IOException | ParserConfigurationException e) { log.error(e.getMessage()); } } + /** + * 根据Xml获取Document对象 + * + * @return Document对象 + * @throws ParserConfigurationException Xml异常 + * @throws SAXException 解析异常 + * @throws IOException 文件读取异常 + * @author com.lin, 2020-02-20 + */ + private static Document getDocument() throws ParserConfigurationException, SAXException, IOException { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); + return documentBuilder.parse("classpath:book.xml"); + } + } -- Gitee From 181e77db9c1a0b61888be2450f4321e34de4faf0 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, 20 Feb 2020 21:30:52 +0800 Subject: [PATCH 20/39] =?UTF-8?q?Xml=E6=96=87=E4=BB=B6=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/XmlParseUtil.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index 6d4a1de..06f79df 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -65,12 +65,12 @@ public class XmlParseUtil { /** * 读取Xml文件,后续根据此方法进行修改,进行二次开发 - * + * @param filepath Xml文件的路径X * @author com.lin, 2020-02-19 */ - public static void ReadXml() { + public static void ReadXml(String filepath) { try { - Document document = getDocument(); + Document document = getDocument(filepath); //根据标签名获取所有根结点的集合 NodeList elementsByTagName = document.getElementsByTagName("book"); for (int i = 0; i < elementsByTagName.getLength(); i++) { @@ -97,7 +97,7 @@ public class XmlParseUtil { * @throws IOException 文件读取异常 * @author com.lin, 2020-02-20 */ - private static Document getDocument() throws ParserConfigurationException, SAXException, IOException { + private static Document getDocument(String filepath) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); return documentBuilder.parse("classpath:book.xml"); -- Gitee From 0e2445f77325c0ee81d70abfc71aa575b9e95359 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, 20 Feb 2020 21:31:19 +0800 Subject: [PATCH 21/39] =?UTF-8?q?Xml=E6=96=87=E4=BB=B6=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/XmlParseUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index 06f79df..4d69fdb 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -100,7 +100,7 @@ public class XmlParseUtil { private static Document getDocument(String filepath) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); - return documentBuilder.parse("classpath:book.xml"); + return documentBuilder.parse(filepath); } -- Gitee From 17fe693aee304f6df0d38b8c0758552062658112 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, 21 Feb 2020 09:47:56 +0800 Subject: [PATCH 22/39] =?UTF-8?q?Xml=E8=A7=A3=E6=9E=90=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/XmlParseUtil.java | 9 ++++++--- src/test/java/com/lin/TestUtil/XmlTest.java | 19 +++++++++++++++++++ src/test/resources/book.xml | 15 +++++++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 src/test/java/com/lin/TestUtil/XmlTest.java create mode 100644 src/test/resources/book.xml diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index 4d69fdb..b44a8a2 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -10,6 +10,7 @@ import org.xml.sax.SAXException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -65,14 +66,16 @@ public class XmlParseUtil { /** * 读取Xml文件,后续根据此方法进行修改,进行二次开发 + * * @param filepath Xml文件的路径X + * @param root Xml文件中根结点的名称 * @author com.lin, 2020-02-19 */ - public static void ReadXml(String filepath) { + public static void ReadXml(String filepath, String root) { try { Document document = getDocument(filepath); //根据标签名获取所有根结点的集合 - NodeList elementsByTagName = document.getElementsByTagName("book"); + NodeList elementsByTagName = document.getElementsByTagName(root); for (int i = 0; i < elementsByTagName.getLength(); i++) { Node item = elementsByTagName.item(i); //获取节点的所有属性 @@ -100,7 +103,7 @@ public class XmlParseUtil { private static Document getDocument(String filepath) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); - return documentBuilder.parse(filepath); + return documentBuilder.parse(new File(filepath)); } diff --git a/src/test/java/com/lin/TestUtil/XmlTest.java b/src/test/java/com/lin/TestUtil/XmlTest.java new file mode 100644 index 0000000..069d74b --- /dev/null +++ b/src/test/java/com/lin/TestUtil/XmlTest.java @@ -0,0 +1,19 @@ +package com.lin.TestUtil; + +import com.lin.Util.XmlParseUtil; +import org.junit.Test; + +/** + * Xml相关测试工具 + */ +public class XmlTest { + + @Test + public void xmlParseTest(){ + String filepath = "src/test/resources/book.xml"; + XmlParseUtil.ReadXml(filepath); + + } + + +} diff --git a/src/test/resources/book.xml b/src/test/resources/book.xml new file mode 100644 index 0000000..22b2785 --- /dev/null +++ b/src/test/resources/book.xml @@ -0,0 +1,15 @@ + + + + 冰与火之歌 + 乔治马丁 + 2014 + 89 + + + 安徒生童话 + 2004 + 98 + English + + \ No newline at end of file -- Gitee From 7cdf8cd951c048807d1bc7be4bdad46b7c92e3d6 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, 21 Feb 2020 09:48:36 +0800 Subject: [PATCH 23/39] =?UTF-8?q?Xml=E8=A7=A3=E6=9E=90=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/XmlParseUtil.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index b44a8a2..4522f67 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -10,7 +10,6 @@ import org.xml.sax.SAXException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -103,7 +102,7 @@ public class XmlParseUtil { private static Document getDocument(String filepath) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); - return documentBuilder.parse(new File(filepath)); + return documentBuilder.parse(FileReadUtil.readFileToString(filepath)); } -- Gitee From 84296a58300fe19cb86c497372dd6f48981311e2 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, 21 Feb 2020 10:14:37 +0800 Subject: [PATCH 24/39] =?UTF-8?q?Xml=E8=A7=A3=E6=9E=90=E5=AE=8C=E5=96=84?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=8F=8D=E5=B0=84=E7=9A=84=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/InvokeUtil.java | 43 ++++++++++++++++++++ src/main/java/com/lin/Util/XmlParseUtil.java | 40 ++++++++++++------ src/test/java/com/lin/TestUtil/XmlTest.java | 3 +- 3 files changed, 71 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/lin/Util/InvokeUtil.java diff --git a/src/main/java/com/lin/Util/InvokeUtil.java b/src/main/java/com/lin/Util/InvokeUtil.java new file mode 100644 index 0000000..d6f2eae --- /dev/null +++ b/src/main/java/com/lin/Util/InvokeUtil.java @@ -0,0 +1,43 @@ +package com.lin.Util; + +import lombok.extern.slf4j.Slf4j; + +import java.lang.reflect.Field; +import java.util.Map; + +/** + * 反射的工具类 + * + * @author 九分石人 + * @time 2020-02-21 + */ +@Slf4j +public class InvokeUtil { + + /** + * 将Map中的数据反射到对象中 + * + * @param t 反射的对象 + * @param map 属性值的集合 + * @param 要反射的对象类型 + * @return 反射成功的对象 + * @author com.lin, 2020-02-21 + */ + public static T setFromMap(T t, Map map) { + Class c = t.getClass(); + Field[] fields = c.getDeclaredFields(); + try { + for (Field f : fields) { + f.setAccessible(true); + String key = f.toString().substring(f.toString().lastIndexOf(".") + 1); + f.set(t, map.get(key)); + } + return t; + } catch (IllegalAccessException e) { + log.error(e.getMessage()); + } + return null; + + } + +} diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index 4522f67..8eb07b2 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -63,30 +63,44 @@ public class XmlParseUtil { return nodeMap; } + /** * 读取Xml文件,后续根据此方法进行修改,进行二次开发 * - * @param filepath Xml文件的路径X + * @param filepath Xml文件的路径 * @param root Xml文件中根结点的名称 * @author com.lin, 2020-02-19 */ public static void ReadXml(String filepath, String root) { + + NodeList elementsByTagName = getNodeList(filepath, root); + for (int i = 0; i < elementsByTagName.getLength(); i++) { + Node item = elementsByTagName.item(i); + //获取节点的所有属性 + Map attrMap = XmlParseUtil.getAttrByNode(item); + //获取节点所有子节点值 + Map childNodeValueByNode = XmlParseUtil.getChildNodeValueByNode(item); + } + } + + /** + * 读取Xml文件,获取根结点集合 + * + * @param filepath Xml文件的路径X + * @param root Xml文件中根结点的名称 + * @return 根结点集合 + * @author com.lin, 2020-02-21 + */ + public static NodeList getNodeList(String filepath, String root) { + Document document = null; try { - Document document = getDocument(filepath); + document = getDocument(filepath); //根据标签名获取所有根结点的集合 - NodeList elementsByTagName = document.getElementsByTagName(root); - for (int i = 0; i < elementsByTagName.getLength(); i++) { - Node item = elementsByTagName.item(i); - //获取节点的所有属性 - Map attrMap = XmlParseUtil.getAttrByNode(item); - //获取节点所有子节点值 - Map childNodeValueByNode = XmlParseUtil.getChildNodeValueByNode(item); - - } - } catch (SAXException | IOException | ParserConfigurationException e) { + return document.getElementsByTagName(root); + } catch (ParserConfigurationException | SAXException | IOException e) { log.error(e.getMessage()); } - + return null; } diff --git a/src/test/java/com/lin/TestUtil/XmlTest.java b/src/test/java/com/lin/TestUtil/XmlTest.java index 069d74b..338ce51 100644 --- a/src/test/java/com/lin/TestUtil/XmlTest.java +++ b/src/test/java/com/lin/TestUtil/XmlTest.java @@ -11,8 +11,7 @@ public class XmlTest { @Test public void xmlParseTest(){ String filepath = "src/test/resources/book.xml"; - XmlParseUtil.ReadXml(filepath); - + XmlParseUtil.ReadXml(filepath,"book"); } -- Gitee From 05b6a521a225bc759d4fec97a30f3b3461d204d4 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, 21 Feb 2020 10:30:02 +0800 Subject: [PATCH 25/39] =?UTF-8?q?=E4=BF=AE=E6=94=B9readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 8 +++++--- README.md | 15 +++++++++------ .../{ExportExcelTest.java => ExcelTest.java} | 2 +- 3 files changed, 15 insertions(+), 10 deletions(-) rename src/test/java/com/lin/TestUtil/{ExportExcelTest.java => ExcelTest.java} (80%) diff --git a/README.en.md b/README.en.md index 59b4c09..0fdc6a8 100644 --- a/README.en.md +++ b/README.en.md @@ -1,16 +1,18 @@ # Utils #### Description -想做点工具玩玩 +Many Utils For Work #### Software Architecture Software architecture description +1. maven +2. java SE + #### Installation 1. xxxx -2. xxxx -3. xxxx +2. [URL](https://gitee.com/linqiankun/Utils.git) #### Instructions diff --git a/README.md b/README.md index b0fe798..569ec96 100644 --- a/README.md +++ b/README.md @@ -6,18 +6,21 @@ #### 软件架构 软件架构说明 +1. maven +2. java SE #### 安装教程 -1. xxxx -2. xxxx -3. xxxx +1. 直接拷贝工具类代码嵌入自己项目即可 +2. [克隆地址](https://gitee.com/linqiankun/Utils.git) #### 使用说明 -1. xxxx -2. xxxx -3. xxxx +1. 直接拷贝工具类代码嵌入自己项目即可 +2. 目前已完成一部分,经测试可以使用 + - 文件读取工具 + - Http连接工具(两个) + - xml解析工具 #### 参与贡献 diff --git a/src/test/java/com/lin/TestUtil/ExportExcelTest.java b/src/test/java/com/lin/TestUtil/ExcelTest.java similarity index 80% rename from src/test/java/com/lin/TestUtil/ExportExcelTest.java rename to src/test/java/com/lin/TestUtil/ExcelTest.java index 12d3de1..d611f66 100644 --- a/src/test/java/com/lin/TestUtil/ExportExcelTest.java +++ b/src/test/java/com/lin/TestUtil/ExcelTest.java @@ -5,7 +5,7 @@ import org.junit.Test; /** * excel导出测试 */ -public class ExportExcelTest { +public class ExcelTest { @Test -- Gitee From 6f536e808469ffbf73c7d296059aceee226961f1 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, 21 Feb 2020 11:24:14 +0800 Subject: [PATCH 26/39] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=8E=B7=E5=8F=96resou?= =?UTF-8?q?rces=E7=9B=AE=E5=BD=95=E4=B8=8B=E7=9A=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/com/lin/TestUtil/XmlTest.java | 22 ++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/lin/TestUtil/XmlTest.java b/src/test/java/com/lin/TestUtil/XmlTest.java index 338ce51..e3ed25c 100644 --- a/src/test/java/com/lin/TestUtil/XmlTest.java +++ b/src/test/java/com/lin/TestUtil/XmlTest.java @@ -1,7 +1,15 @@ package com.lin.TestUtil; -import com.lin.Util.XmlParseUtil; +import com.lin.Util.FileReadUtil; import org.junit.Test; +import org.xml.sax.SAXException; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; /** * Xml相关测试工具 @@ -9,9 +17,17 @@ import org.junit.Test; public class XmlTest { @Test - public void xmlParseTest(){ + public void xmlParseTest() throws ParserConfigurationException, IOException, SAXException { String filepath = "src/test/resources/book.xml"; - XmlParseUtil.ReadXml(filepath,"book"); +// XmlParseUtil.ReadXml(filepath,"book"); + + InputStream is = this.getClass().getResourceAsStream("/book.xml"); // 拿到资源 + InputStream in = this.getClass().getClassLoader().getResourceAsStream("book.xml"); + URL resource = this.getClass().getClassLoader().getResource("book.xml"); + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); + documentBuilder.parse(FileReadUtil.readFileToString(filepath)); + documentBuilder.parse(String.valueOf(resource)); } -- Gitee From 0cdc0939993c560e9f31ab706598692518fb1a69 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, 21 Feb 2020 14:34:44 +0800 Subject: [PATCH 27/39] =?UTF-8?q?=E6=B7=BB=E5=8A=A0wiki=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 1 + README.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.en.md b/README.en.md index 0fdc6a8..d8bd687 100644 --- a/README.en.md +++ b/README.en.md @@ -13,6 +13,7 @@ Software architecture description 1. xxxx 2. [URL](https://gitee.com/linqiankun/Utils.git) +2. [wiki](https://gitee.com/linqiankun/Utils.wiki.git) #### Instructions diff --git a/README.md b/README.md index 569ec96..b9ba699 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ 1. 直接拷贝工具类代码嵌入自己项目即可 2. [克隆地址](https://gitee.com/linqiankun/Utils.git) +3. [文档介绍](https://gitee.com/linqiankun/Utils.wiki.git) #### 使用说明 -- Gitee From eaf6c04305e86c809e8cb0d9ccb2c30b323d0205 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, 21 Feb 2020 15:51:38 +0800 Subject: [PATCH 28/39] =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E5=86=99=E5=85=A5=E6=B5=8B=E8=AF=95=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/com/lin/TestUtil/FileTest.java | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/lin/TestUtil/FileTest.java b/src/test/java/com/lin/TestUtil/FileTest.java index 7f10e33..453bd0d 100644 --- a/src/test/java/com/lin/TestUtil/FileTest.java +++ b/src/test/java/com/lin/TestUtil/FileTest.java @@ -3,9 +3,11 @@ 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; /** @@ -13,16 +15,25 @@ import java.util.List; */ public class FileTest { - - @Test - public void fileTest() throws IOException { - + public void readFileToString() throws IOException { String s = FileReadUtil.readFileToString("/Users/linqiankun/Desktop/test"); List reslutList = JSON.parseArray(s, SenseCallbackDto.class); System.out.println(reslutList.size()); + } + @Test + public void writeFromString() { + String filepath = "/Users/linqiankun/Desktop/test"; + String s = "wertyukmcdrtyukmnhgfrtyu"; + FileWriteUtil.writeFromString(s, filepath); } + @Test + public void writeFromInputStream() { + InputStream in = this.getClass().getClassLoader().getResourceAsStream("book.xml"); + String filepath = "/Users/linqiankun/Desktop/test1"; + FileWriteUtil.writeFromInputStream(in,filepath); + } -} +} \ No newline at end of file -- Gitee From 0636b6f8128b5c3218c663e45151eaddd7fd3307 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, 21 Feb 2020 15:52:37 +0800 Subject: [PATCH 29/39] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b9ba699..59066b2 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ 1. 直接拷贝工具类代码嵌入自己项目即可 2. 目前已完成一部分,经测试可以使用 + - 文件写入工具 - 文件读取工具 - Http连接工具(两个) - xml解析工具 -- Gitee From 634c99175cc7d88248d0f3028b536e61e6011647 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, 21 Feb 2020 16:26:09 +0800 Subject: [PATCH 30/39] =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=8F=8D=E5=B0=84?= =?UTF-8?q?=E5=B0=86map=E4=B8=AD=E7=9A=84=E5=80=BC=E6=98=A0=E5=B0=84?= =?UTF-8?q?=E5=88=B0=E5=AF=B9=E8=B1=A1=E4=B8=AD=E6=B5=8B=E8=AF=95=E9=80=9A?= =?UTF-8?q?=E8=BF=87=EF=BC=8C=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + src/main/java/com/lin/Dto/BookDto.java | 12 +++++++ src/main/java/com/lin/Util/FileReadUtil.java | 2 +- src/main/java/com/lin/Util/XmlParseUtil.java | 16 +++++---- src/test/java/com/lin/TestUtil/FileTest.java | 6 ++-- .../java/com/lin/TestUtil/InvokeTest.java | 36 ++++++++++++++----- 6 files changed, 54 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/lin/Dto/BookDto.java diff --git a/README.md b/README.md index 59066b2..a299389 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ - 文件读取工具 - Http连接工具(两个) - xml解析工具 + - 对象反射工具 #### 参与贡献 diff --git a/src/main/java/com/lin/Dto/BookDto.java b/src/main/java/com/lin/Dto/BookDto.java new file mode 100644 index 0000000..98c021c --- /dev/null +++ b/src/main/java/com/lin/Dto/BookDto.java @@ -0,0 +1,12 @@ +package com.lin.Dto; + +import lombok.Data; + +@Data +public class BookDto { + String name; + String author; + String price; + String year; + String language; +} diff --git a/src/main/java/com/lin/Util/FileReadUtil.java b/src/main/java/com/lin/Util/FileReadUtil.java index e83d8c6..f37a17a 100644 --- a/src/main/java/com/lin/Util/FileReadUtil.java +++ b/src/main/java/com/lin/Util/FileReadUtil.java @@ -22,7 +22,7 @@ public class FileReadUtil { * @author com.lin, 2019-02-18 */ @NotNull - private static File readToFile(String filePath) { + public static File readToFile(String filePath) { File file = new File(filePath); if(file.exists()){ return file; diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index 8eb07b2..6e781d6 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -10,6 +10,7 @@ import org.xml.sax.SAXException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -68,12 +69,12 @@ public class XmlParseUtil { * 读取Xml文件,后续根据此方法进行修改,进行二次开发 * * @param filepath Xml文件的路径 - * @param root Xml文件中根结点的名称 + * @param node Xml文件中根结点的名称 * @author com.lin, 2020-02-19 */ - public static void ReadXml(String filepath, String root) { + public static void ReadXml(String filepath, String node) { - NodeList elementsByTagName = getNodeList(filepath, root); + NodeList elementsByTagName = getNodeList(filepath, node); for (int i = 0; i < elementsByTagName.getLength(); i++) { Node item = elementsByTagName.item(i); //获取节点的所有属性 @@ -87,16 +88,16 @@ public class XmlParseUtil { * 读取Xml文件,获取根结点集合 * * @param filepath Xml文件的路径X - * @param root Xml文件中根结点的名称 + * @param node Xml文件中根结点的名称 * @return 根结点集合 * @author com.lin, 2020-02-21 */ - public static NodeList getNodeList(String filepath, String root) { + public static NodeList getNodeList(String filepath, String node) { Document document = null; try { document = getDocument(filepath); //根据标签名获取所有根结点的集合 - return document.getElementsByTagName(root); + return document.getElementsByTagName(node); } catch (ParserConfigurationException | SAXException | IOException e) { log.error(e.getMessage()); } @@ -116,7 +117,8 @@ public class XmlParseUtil { private static Document getDocument(String filepath) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); - return documentBuilder.parse(FileReadUtil.readFileToString(filepath)); + File file = FileReadUtil.readToFile(filepath); + return documentBuilder.parse(file); } diff --git a/src/test/java/com/lin/TestUtil/FileTest.java b/src/test/java/com/lin/TestUtil/FileTest.java index 453bd0d..c537059 100644 --- a/src/test/java/com/lin/TestUtil/FileTest.java +++ b/src/test/java/com/lin/TestUtil/FileTest.java @@ -16,21 +16,21 @@ import java.util.List; public class FileTest { @Test - public void readFileToString() throws IOException { + public void readFileToStringTest() throws IOException { String s = FileReadUtil.readFileToString("/Users/linqiankun/Desktop/test"); List reslutList = JSON.parseArray(s, SenseCallbackDto.class); System.out.println(reslutList.size()); } @Test - public void writeFromString() { + public void writeFromStringTest() { String filepath = "/Users/linqiankun/Desktop/test"; String s = "wertyukmcdrtyukmnhgfrtyu"; FileWriteUtil.writeFromString(s, filepath); } @Test - public void writeFromInputStream() { + public void writeFromInputStreamTest() { InputStream in = this.getClass().getClassLoader().getResourceAsStream("book.xml"); String filepath = "/Users/linqiankun/Desktop/test1"; FileWriteUtil.writeFromInputStream(in,filepath); diff --git a/src/test/java/com/lin/TestUtil/InvokeTest.java b/src/test/java/com/lin/TestUtil/InvokeTest.java index 54efdd5..723db45 100644 --- a/src/test/java/com/lin/TestUtil/InvokeTest.java +++ b/src/test/java/com/lin/TestUtil/InvokeTest.java @@ -1,15 +1,40 @@ package com.lin.TestUtil; +import com.lin.Dto.BookDto; import com.lin.Dto.SenseCallbackDto; +import com.lin.Util.InvokeUtil; +import com.lin.Util.XmlParseUtil; +import org.junit.Test; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import java.lang.reflect.Field; -import java.util.Date; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * 反射测试 */ public class InvokeTest { + @Test + public void setFromMapTest() { + String filepath = "src/test/resources/book.xml"; + List l = new ArrayList<>(); + NodeList book = XmlParseUtil.getNodeList(filepath, "book"); + for (int i = 0; i < book.getLength(); i++) { + Node item = book.item(i); + BookDto bookDto = new BookDto(); + //获取节点所有子节点值 + Map childNodeValueByNode = XmlParseUtil.getChildNodeValueByNode(item); + InvokeUtil.setFromMap(bookDto, childNodeValueByNode); + l.add(bookDto); + } + System.out.println(l.toString()); + + } + public static void main(String[] args) throws IllegalAccessException { SenseCallbackDto dto = new SenseCallbackDto(); @@ -29,19 +54,14 @@ public class InvokeTest { dto.setTemplateCode("ghjk,"); dto.setResultCode(1); - Class c = dto.getClass(); Field[] fields = c.getDeclaredFields(); for (Field f : fields) { f.setAccessible(true); - String substring = f.toString().substring(f.toString().lastIndexOf(".") + 1); - System.out.println(f.toString()+f.get(dto)); - f.set(dto,"s"); - + System.out.println(f.toString() + f.get(dto)); + f.set(dto, "s"); } - - } -- Gitee From 3a2f26168a9355a5da7a6c9f1bec33bc8ace7506 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, 21 Feb 2020 16:54:08 +0800 Subject: [PATCH 31/39] =?UTF-8?q?excel=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lin/Util/ExcelExportUtil.java | 6 ++-- src/test/java/com/lin/TestUtil/ExcelTest.java | 29 +++++++++++++++++-- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/lin/Util/ExcelExportUtil.java b/src/main/java/com/lin/Util/ExcelExportUtil.java index 8b47bb7..c27cb28 100644 --- a/src/main/java/com/lin/Util/ExcelExportUtil.java +++ b/src/main/java/com/lin/Util/ExcelExportUtil.java @@ -28,7 +28,7 @@ public class ExcelExportUtil { /** - * 导出Excel主方法,调用此方法即可 + * 导出Excel主方法,调用此方法即可(该方法未测试) * * @param fileName 文件名 * @param list 数据源 @@ -83,7 +83,7 @@ public class ExcelExportUtil { * @author com.lin, 2019-12-20 */ @NotNull - private static HSSFWorkbook getExcel(List list, @NotNull String[] title) throws IllegalAccessException { + public static HSSFWorkbook getExcel(List list, @NotNull String[] title) throws IllegalAccessException { // 创建一个excel文件 HSSFWorkbook wb = new HSSFWorkbook(); @@ -129,7 +129,7 @@ public class ExcelExportUtil { row.setHeightInPoints(15); // 通过反射获取对象的值并设置进excel Class c = t.getClass(); - Field[] fields = c.getFields(); + Field[] fields = c.getDeclaredFields(); for (int j = 0; j < fields.length; j++) { Field f = fields[j]; f.setAccessible(true); diff --git a/src/test/java/com/lin/TestUtil/ExcelTest.java b/src/test/java/com/lin/TestUtil/ExcelTest.java index d611f66..f33e4e6 100644 --- a/src/test/java/com/lin/TestUtil/ExcelTest.java +++ b/src/test/java/com/lin/TestUtil/ExcelTest.java @@ -1,7 +1,17 @@ package com.lin.TestUtil; +import com.lin.Dto.BookDto; +import com.lin.Util.ExcelExportUtil; +import com.lin.Util.FileWriteUtil; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.junit.Test; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + /** * excel导出测试 */ @@ -9,8 +19,23 @@ public class ExcelTest { @Test - public void export(){ - + public void exportExcelTest() throws IllegalAccessException, IOException { + String filepath = "/Users/linqiankun/Desktop/testexcel.xls"; + BookDto b = new BookDto(); + b.setAuthor("cvbnm"); + b.setLanguage("english"); + b.setName("ihii"); + b.setPrice("90"); + b.setYear("2020"); + List l = new ArrayList<>(); + l.add(b); + String[] str = {"name","author","price","language","year"}; + + HSSFWorkbook excel = ExcelExportUtil.getExcel(l, str); + + File file = FileWriteUtil.canCreatFile(filepath); + FileOutputStream out = new FileOutputStream(file); + excel.write(out); } -- Gitee From c9394954e100d590f48f01d467c58924eb6d8d68 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, 21 Feb 2020 17:07:15 +0800 Subject: [PATCH 32/39] =?UTF-8?q?excel=E8=AF=BB=E5=8F=96=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lin/Util/ExcelImportUtil.java | 16 +++++++++------- src/test/java/com/lin/TestUtil/ExcelTest.java | 19 ++++++++++++++----- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/lin/Util/ExcelImportUtil.java b/src/main/java/com/lin/Util/ExcelImportUtil.java index 42b8cf5..c0be280 100644 --- a/src/main/java/com/lin/Util/ExcelImportUtil.java +++ b/src/main/java/com/lin/Util/ExcelImportUtil.java @@ -24,7 +24,7 @@ import java.util.List; /** * excel导入工具 - * + * * @author 九分石人 * @time 2019-12-31 */ @@ -36,15 +36,16 @@ public class ExcelImportUtil { * * @param fileInputStream 文件输入流 * @param validColum 关键列 + * @param startRownum 开始行,如第一行就是1 * @return 数组的集合 * @author com.lin, 2019-12-19 */ @Nullable - public static List readExcelFile(InputStream fileInputStream, int validColum) { + public static List readExcelFile(InputStream fileInputStream, int validColum, int startRownum) { try { Workbook workbook = getWeebWork(fileInputStream); Sheet sheet = workbook.getSheetAt(0);// 只取sheet1的数据 - return readFromSheet(sheet, validColum); + return readFromSheet(sheet, validColum, startRownum); } catch (Exception e) { log.error(e.getMessage()); } finally { @@ -88,13 +89,14 @@ public class ExcelImportUtil { /** * 获取Excel文件中的数据 * - * @param sheet Excel文件中不同的Sheet - * @param validColum 关键列,不可为空 + * @param sheet Excel文件中不同的Sheet + * @param validColum 关键列,不可为空 + * @param startRownum 开始行,如第一行就是1 * @return 每一列为一个数组,所有元素为数组的集合 * @author com.lin, 2019-12-19 */ @NotNull - private static List readFromSheet(@NotNull Sheet sheet, int validColum) { + private static List readFromSheet(@NotNull Sheet sheet, int validColum, int startRownum) { List list = new ArrayList<>(); int rownum = sheet.getLastRowNum();// 获取总行 int totalCellNum = sheet.getRow(1).getLastCellNum();// 获取总列数 @@ -102,7 +104,7 @@ public class ExcelImportUtil { if (rownum >= 5000) rownum = 5000; // 从第三行开始处理数据 - for (int i = 2; i <= rownum; i++) { + for (int i = (startRownum - 1); i <= rownum; i++) { Row row = sheet.getRow(i); if (row != null) { // 第X列数据不完整的话 视为无效数据 不予添加进list中 diff --git a/src/test/java/com/lin/TestUtil/ExcelTest.java b/src/test/java/com/lin/TestUtil/ExcelTest.java index f33e4e6..a984090 100644 --- a/src/test/java/com/lin/TestUtil/ExcelTest.java +++ b/src/test/java/com/lin/TestUtil/ExcelTest.java @@ -2,18 +2,17 @@ package com.lin.TestUtil; import com.lin.Dto.BookDto; import com.lin.Util.ExcelExportUtil; +import com.lin.Util.ExcelImportUtil; import com.lin.Util.FileWriteUtil; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.junit.Test; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; +import java.io.*; import java.util.ArrayList; import java.util.List; /** - * excel导出测试 + * excel测试 */ public class ExcelTest { @@ -29,7 +28,7 @@ public class ExcelTest { b.setYear("2020"); List l = new ArrayList<>(); l.add(b); - String[] str = {"name","author","price","language","year"}; + String[] str = {"name", "author", "price", "language", "year"}; HSSFWorkbook excel = ExcelExportUtil.getExcel(l, str); @@ -39,5 +38,15 @@ public class ExcelTest { } + @Test + public void importExcelTest() throws FileNotFoundException { + String filepath = "/Users/linqiankun/Desktop/testexcel.xls"; + File file = FileWriteUtil.canCreatFile(filepath); + FileInputStream in = new FileInputStream(file); + List strings = ExcelImportUtil.readExcelFile(in, 1, 2);//从第二行开始读,就是2 + System.out.println(strings); + + } + } -- Gitee From 191cd46b0155bebf9392cfaa4b7da458fa9200eb 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, 21 Feb 2020 17:08:55 +0800 Subject: [PATCH 33/39] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a299389..2eb74e8 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,8 @@ 1. 直接拷贝工具类代码嵌入自己项目即可 2. 目前已完成一部分,经测试可以使用 - - 文件写入工具 - - 文件读取工具 + - excel读取导出工具 + - 文件读取写入工具 - Http连接工具(两个) - xml解析工具 - 对象反射工具 -- Gitee From 38051aff658649441a82c943eee2187bbdb6a89c 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, 21 Feb 2020 17:20:42 +0800 Subject: [PATCH 34/39] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.en.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.en.md b/README.en.md index d8bd687..deee9d3 100644 --- a/README.en.md +++ b/README.en.md @@ -13,7 +13,7 @@ Software architecture description 1. xxxx 2. [URL](https://gitee.com/linqiankun/Utils.git) -2. [wiki](https://gitee.com/linqiankun/Utils.wiki.git) +2. [wiki](https://gitee.com/linqiankun/Utils/wikis/Home) #### Instructions diff --git a/README.md b/README.md index 2eb74e8..c728f6a 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ 1. 直接拷贝工具类代码嵌入自己项目即可 2. [克隆地址](https://gitee.com/linqiankun/Utils.git) -3. [文档介绍](https://gitee.com/linqiankun/Utils.wiki.git) +3. [文档介绍](https://gitee.com/linqiankun/Utils/wikis/Home) #### 使用说明 -- Gitee From 3a7e1b88397e8a54a8530ccd35e7b51ef2a07573 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, 21 Feb 2020 21:39:41 +0800 Subject: [PATCH 35/39] =?UTF-8?q?=E6=8E=92=E9=99=A4=E8=AD=A6=E5=91=8A?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E9=AB=98=E4=BB=A3=E7=A0=81=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/App.java | 10 +++++ .../java/com/lin/Util/ExcelExportUtil.java | 14 ++----- .../java/com/lin/Util/ExcelImportUtil.java | 41 +++++++++---------- src/main/java/com/lin/Util/FileReadUtil.java | 4 +- src/main/java/com/lin/Util/FileWriteUtil.java | 10 ++--- .../java/com/lin/Util/HttpConnectionUtil.java | 6 +-- .../com/lin/Util/HttpUrlConnectionUtil.java | 1 - src/main/java/com/lin/Util/InvokeUtil.java | 13 +++--- src/main/java/com/lin/Util/PdfExportUtil.java | 4 +- src/main/java/com/lin/Util/XmlParseUtil.java | 15 +++---- 10 files changed, 53 insertions(+), 65 deletions(-) diff --git a/src/main/java/com/lin/App.java b/src/main/java/com/lin/App.java index b851e5c..1133952 100644 --- a/src/main/java/com/lin/App.java +++ b/src/main/java/com/lin/App.java @@ -1,5 +1,8 @@ package com.lin; +import java.util.HashMap; +import java.util.Map; + /** * Hello Utils! */ @@ -7,5 +10,12 @@ public class App { public static void main(String[] args) { System.out.println("Hello Utils"); + Map m = new HashMap<>(); + m.put("ss", "ghjk"); + m.put("ss", 23456); + + Object s = m.get("s"); + + } } diff --git a/src/main/java/com/lin/Util/ExcelExportUtil.java b/src/main/java/com/lin/Util/ExcelExportUtil.java index c27cb28..9a2957a 100644 --- a/src/main/java/com/lin/Util/ExcelExportUtil.java +++ b/src/main/java/com/lin/Util/ExcelExportUtil.java @@ -9,7 +9,6 @@ import org.jetbrains.annotations.NotNull; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; -import java.io.UnsupportedEncodingException; import java.lang.reflect.Field; import java.nio.charset.StandardCharsets; import java.util.ArrayList; @@ -17,14 +16,11 @@ import java.util.List; /** * excel导出工具 - * - * @author 九分石人 - * @time 2019-12-31 * - * @param + * @author 九分石人,2019-12-31 */ @Slf4j -public class ExcelExportUtil { +public class ExcelExportUtil { /** @@ -63,11 +59,7 @@ public class ExcelExportUtil { excel.write(os); os.flush(); os.close(); - } catch (UnsupportedEncodingException e) { - log.error(e.getMessage()); - } catch (IOException e) { - log.error(e.getMessage()); - } catch (IllegalAccessException e) { + } catch (IOException | IllegalAccessException e) { log.error(e.getMessage()); } } diff --git a/src/main/java/com/lin/Util/ExcelImportUtil.java b/src/main/java/com/lin/Util/ExcelImportUtil.java index c0be280..f423a8d 100644 --- a/src/main/java/com/lin/Util/ExcelImportUtil.java +++ b/src/main/java/com/lin/Util/ExcelImportUtil.java @@ -25,8 +25,7 @@ import java.util.List; /** * excel导入工具 * - * @author 九分石人 - * @time 2019-12-31 + * @author 九分石人, 2019-12-31 */ @Slf4j public class ExcelImportUtil { @@ -35,17 +34,17 @@ public class ExcelImportUtil { * 导入Excel * * @param fileInputStream 文件输入流 - * @param validColum 关键列 - * @param startRownum 开始行,如第一行就是1 + * @param validColumn 关键列 + * @param startRow 开始行,如第一行就是1 * @return 数组的集合 * @author com.lin, 2019-12-19 */ @Nullable - public static List readExcelFile(InputStream fileInputStream, int validColum, int startRownum) { + public static List readExcelFile(InputStream fileInputStream, int validColumn, int startRow) { try { Workbook workbook = getWeebWork(fileInputStream); Sheet sheet = workbook.getSheetAt(0);// 只取sheet1的数据 - return readFromSheet(sheet, validColum, startRownum); + return readFromSheet(sheet, validColumn, startRow); } catch (Exception e) { log.error(e.getMessage()); } finally { @@ -64,7 +63,7 @@ public class ExcelImportUtil { /** * 获取Workbook格式的Excel文件 * - * @param fileStream 文件输入流 + * @param inputStream 文件输入流 * @return Excel文件 * @throws IOException 文件输入流异常 * @throws InvalidFormatException 格式校验异常 @@ -72,15 +71,15 @@ public class ExcelImportUtil { */ @NotNull @Contract("_ -> new") - private static Workbook getWeebWork(@NotNull InputStream fileStream) throws IOException, InvalidFormatException { - if (!fileStream.markSupported()) { - fileStream = new PushbackInputStream(fileStream, 8); + private static Workbook getWeebWork(@NotNull InputStream inputStream) throws IOException, InvalidFormatException { + if (!inputStream.markSupported()) { + inputStream = new PushbackInputStream(inputStream, 8); } - if (POIFSFileSystem.hasPOIFSHeader(fileStream)) { - return new HSSFWorkbook(fileStream); + if (POIFSFileSystem.hasPOIFSHeader(inputStream)) { + return new HSSFWorkbook(inputStream); } - if (POIXMLDocument.hasOOXMLHeader(fileStream)) { - return new XSSFWorkbook(OPCPackage.open(fileStream)); + if (POIXMLDocument.hasOOXMLHeader(inputStream)) { + return new XSSFWorkbook(OPCPackage.open(inputStream)); } throw new IllegalArgumentException("你的excel版本目前poi解析不了"); } @@ -90,13 +89,13 @@ public class ExcelImportUtil { * 获取Excel文件中的数据 * * @param sheet Excel文件中不同的Sheet - * @param validColum 关键列,不可为空 - * @param startRownum 开始行,如第一行就是1 + * @param validColumn 关键列,不可为空 + * @param startRow 开始行,如第一行就是1 * @return 每一列为一个数组,所有元素为数组的集合 * @author com.lin, 2019-12-19 */ @NotNull - private static List readFromSheet(@NotNull Sheet sheet, int validColum, int startRownum) { + private static List readFromSheet(@NotNull Sheet sheet, int validColumn, int startRow) { List list = new ArrayList<>(); int rownum = sheet.getLastRowNum();// 获取总行 int totalCellNum = sheet.getRow(1).getLastCellNum();// 获取总列数 @@ -104,17 +103,17 @@ public class ExcelImportUtil { if (rownum >= 5000) rownum = 5000; // 从第三行开始处理数据 - for (int i = (startRownum - 1); i <= rownum; i++) { + for (int i = (startRow - 1); i <= rownum; i++) { Row row = sheet.getRow(i); if (row != null) { // 第X列数据不完整的话 视为无效数据 不予添加进list中 - if (row.getCell(validColum) == null) { + if (row.getCell(validColumn) == null) { continue; } try { - row.getCell(validColum).setCellType(Cell.CELL_TYPE_STRING); //设置成文本格式 + row.getCell(validColumn).setCellType(Cell.CELL_TYPE_STRING); //设置成文本格式 } catch (Exception e) { - + log.error(e.getMessage()); } String[] cells = new String[totalCellNum];// 根据标题行生成相同列数的String数组 for (int j = 0; j < totalCellNum; j++) { diff --git a/src/main/java/com/lin/Util/FileReadUtil.java b/src/main/java/com/lin/Util/FileReadUtil.java index f37a17a..ba5c237 100644 --- a/src/main/java/com/lin/Util/FileReadUtil.java +++ b/src/main/java/com/lin/Util/FileReadUtil.java @@ -8,8 +8,7 @@ import java.io.*; /** * 文件读取工具 * - * @author 九分石人 - * @time 2019-12-31 + * @author 九分石人,2019-12-31 */ @Slf4j public class FileReadUtil { @@ -21,7 +20,6 @@ public class FileReadUtil { * @return 文件内容 * @author com.lin, 2019-02-18 */ - @NotNull public static File readToFile(String filePath) { File file = new File(filePath); if(file.exists()){ diff --git a/src/main/java/com/lin/Util/FileWriteUtil.java b/src/main/java/com/lin/Util/FileWriteUtil.java index 3e2bf08..b3cbe26 100644 --- a/src/main/java/com/lin/Util/FileWriteUtil.java +++ b/src/main/java/com/lin/Util/FileWriteUtil.java @@ -7,8 +7,7 @@ import java.io.*; /** * 文件写入工具 * - * @author 九分石人 - * @time 2020-02-19 + * @author 九分石人, 2020-02-19 */ @Slf4j public class FileWriteUtil { @@ -25,7 +24,7 @@ public class FileWriteUtil { File file = new File(filePath); try { if (!file.exists()) { - boolean newFile = file.createNewFile(); + file.createNewFile(); } } catch (IOException e) { log.error(e.getMessage()); @@ -49,8 +48,6 @@ public class FileWriteUtil { outputStream = new FileOutputStream(file); writer = new BufferedWriter(new OutputStreamWriter(outputStream)); writer.write(string); - } catch (FileNotFoundException e) { - log.error(e.getMessage()); } catch (IOException e) { log.error(e.getMessage()); } finally { @@ -77,9 +74,8 @@ public class FileWriteUtil { FileOutputStream outputStream = null; try { byte[] b = new byte[1024]; - int i; outputStream = new FileOutputStream(file); - while ((i = inputStream.read(b)) > 0) { + while (inputStream.read(b) > 0) { outputStream.write(b); } } catch (FileNotFoundException e) { diff --git a/src/main/java/com/lin/Util/HttpConnectionUtil.java b/src/main/java/com/lin/Util/HttpConnectionUtil.java index c28a52b..ee82de7 100644 --- a/src/main/java/com/lin/Util/HttpConnectionUtil.java +++ b/src/main/java/com/lin/Util/HttpConnectionUtil.java @@ -10,8 +10,7 @@ import java.net.URLEncoder; /** * Http连接工具 * - * @author 九分石人 - * @time 2019-12-31 + * @author 九分石人, 2019-12-31 */ @Slf4j public class HttpConnectionUtil { @@ -30,7 +29,6 @@ public class HttpConnectionUtil { */ public static String sendGet(String url) { HttpURLConnection connection = null; - PrintWriter outPrintWriter = null; InputStream inputStream = null; String result = ""; try { @@ -56,7 +54,7 @@ public class HttpConnectionUtil { } catch (Exception e) { log.error(e.getMessage()); } finally { - closeConnection(connection, outPrintWriter, inputStream); + closeConnection(connection, null, inputStream); } return result; } diff --git a/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java b/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java index 3e6594d..b9406d9 100644 --- a/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java +++ b/src/main/java/com/lin/Util/HttpUrlConnectionUtil.java @@ -123,7 +123,6 @@ public class HttpUrlConnectionUtil { * @throws KeyManagementException 异常 * @author com.lin, 2019-12-21 */ - @SuppressWarnings("unused") private static SSLSocketFactory getSSL() throws NoSuchProviderException, NoSuchAlgorithmException, KeyManagementException { TrustManager[] trustManager = new TrustManager[]{}; SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); diff --git a/src/main/java/com/lin/Util/InvokeUtil.java b/src/main/java/com/lin/Util/InvokeUtil.java index d6f2eae..302b311 100644 --- a/src/main/java/com/lin/Util/InvokeUtil.java +++ b/src/main/java/com/lin/Util/InvokeUtil.java @@ -8,35 +8,32 @@ import java.util.Map; /** * 反射的工具类 * - * @author 九分石人 - * @time 2020-02-21 + * @author 九分石人, 2020-02-21 */ @Slf4j -public class InvokeUtil { +public class InvokeUtil { /** * 将Map中的数据反射到对象中 * + * @param 要反射的对象类型 * @param t 反射的对象 * @param map 属性值的集合 - * @param 要反射的对象类型 - * @return 反射成功的对象 * @author com.lin, 2020-02-21 */ - public static T setFromMap(T t, Map map) { + public static void setFromMap(T t, Map map) { Class c = t.getClass(); Field[] fields = c.getDeclaredFields(); try { for (Field f : fields) { f.setAccessible(true); + //TODO 加上属性类型判断 String key = f.toString().substring(f.toString().lastIndexOf(".") + 1); f.set(t, map.get(key)); } - return t; } catch (IllegalAccessException e) { log.error(e.getMessage()); } - return null; } diff --git a/src/main/java/com/lin/Util/PdfExportUtil.java b/src/main/java/com/lin/Util/PdfExportUtil.java index 1e41ffe..7bd8692 100644 --- a/src/main/java/com/lin/Util/PdfExportUtil.java +++ b/src/main/java/com/lin/Util/PdfExportUtil.java @@ -35,9 +35,7 @@ public class PdfExportUtil { document.add(new Paragraph("")); document.close(); - } catch (DocumentException e) { - log.error(e.getMessage()); - } catch (FileNotFoundException e) { + } catch (DocumentException | FileNotFoundException e) { log.error(e.getMessage()); } diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index 6e781d6..4144b2f 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -18,8 +18,7 @@ import java.util.Map; /** * Xml文件读取工具 * - * @author 九分石人 - * @time 2020-02-17 + * @author 九分石人, 2020-02-17 */ @Slf4j public class XmlParseUtil { @@ -31,7 +30,7 @@ public class XmlParseUtil { * @return 节点的属性值 * @author com.lin, 2020-02-20 */ - public static Map getAttrByNode(Node node) { + public static Map getAttrByNode(Node node) { Map attrMap = new HashMap<>(); NamedNodeMap attributes = node.getAttributes(); for (int j = 0; j < attributes.getLength(); j++) { @@ -50,7 +49,7 @@ public class XmlParseUtil { * @return 子节点的名和值 * @author com.lin, 2020-02-20 */ - public static Map getChildNodeValueByNode(Node node) { + public static Map getChildNodeValueByNode(Node node) { Map nodeMap = new HashMap<>(); NodeList childNodes = node.getChildNodes(); for (int j = 0; j < childNodes.getLength(); j++) { @@ -75,12 +74,13 @@ public class XmlParseUtil { public static void ReadXml(String filepath, String node) { NodeList elementsByTagName = getNodeList(filepath, node); + assert elementsByTagName != null; for (int i = 0; i < elementsByTagName.getLength(); i++) { Node item = elementsByTagName.item(i); //获取节点的所有属性 - Map attrMap = XmlParseUtil.getAttrByNode(item); + Map attrMap = XmlParseUtil.getAttrByNode(item); //获取节点所有子节点值 - Map childNodeValueByNode = XmlParseUtil.getChildNodeValueByNode(item); + Map childNodeValueByNode = XmlParseUtil.getChildNodeValueByNode(item); } } @@ -93,7 +93,7 @@ public class XmlParseUtil { * @author com.lin, 2020-02-21 */ public static NodeList getNodeList(String filepath, String node) { - Document document = null; + Document document; try { document = getDocument(filepath); //根据标签名获取所有根结点的集合 @@ -118,6 +118,7 @@ public class XmlParseUtil { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); File file = FileReadUtil.readToFile(filepath); + assert file != null; return documentBuilder.parse(file); } -- Gitee From ed00b79298189e58cfae677d25833de1a1071a69 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, 21 Feb 2020 21:40:28 +0800 Subject: [PATCH 36/39] =?UTF-8?q?=E6=8E=92=E9=99=A4=E8=AD=A6=E5=91=8A?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E9=AB=98=E4=BB=A3=E7=A0=81=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/PdfExportUtil.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/lin/Util/PdfExportUtil.java b/src/main/java/com/lin/Util/PdfExportUtil.java index 7bd8692..5256516 100644 --- a/src/main/java/com/lin/Util/PdfExportUtil.java +++ b/src/main/java/com/lin/Util/PdfExportUtil.java @@ -13,8 +13,7 @@ import java.io.FileOutputStream; /** * excel导出工具 * - * @author 九分石人 - * @time 2020-02-17 + * @author 九分石人, 2020-02-17 */ @Slf4j public class PdfExportUtil { -- Gitee From 263c21892ff6a089c1b38863e6188ab32ca938c5 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: Sat, 22 Feb 2020 14:18:46 +0800 Subject: [PATCH 37/39] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84=EF=BC=8C=E6=94=B9=E5=88=B0?= =?UTF-8?q?resources=E4=B8=8B=EF=BC=8C=E4=B8=8D=E7=94=A8=E5=9C=A8=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E7=B3=BB=E7=BB=9F=E6=9B=B4=E6=8D=A2=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/com/lin/TestUtil/ExcelTest.java | 6 ++++-- src/test/java/com/lin/TestUtil/FileTest.java | 11 ++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/lin/TestUtil/ExcelTest.java b/src/test/java/com/lin/TestUtil/ExcelTest.java index a984090..6ef99c6 100644 --- a/src/test/java/com/lin/TestUtil/ExcelTest.java +++ b/src/test/java/com/lin/TestUtil/ExcelTest.java @@ -19,7 +19,8 @@ public class ExcelTest { @Test public void exportExcelTest() throws IllegalAccessException, IOException { - String filepath = "/Users/linqiankun/Desktop/testexcel.xls"; +// String filepath = "/Users/linqiankun/Desktop/testexcel.xls"; + String filepath = "src/test/resources/testExcel.xml"; BookDto b = new BookDto(); b.setAuthor("cvbnm"); b.setLanguage("english"); @@ -40,7 +41,8 @@ public class ExcelTest { @Test public void importExcelTest() throws FileNotFoundException { - String filepath = "/Users/linqiankun/Desktop/testexcel.xls"; +// String filepath = "/Users/linqiankun/Desktop/testexcel.xls"; + String filepath = "src/test/resources/testExcel.xml"; File file = FileWriteUtil.canCreatFile(filepath); FileInputStream in = new FileInputStream(file); List strings = ExcelImportUtil.readExcelFile(in, 1, 2);//从第二行开始读,就是2 diff --git a/src/test/java/com/lin/TestUtil/FileTest.java b/src/test/java/com/lin/TestUtil/FileTest.java index c537059..505ace7 100644 --- a/src/test/java/com/lin/TestUtil/FileTest.java +++ b/src/test/java/com/lin/TestUtil/FileTest.java @@ -17,14 +17,18 @@ public class FileTest { @Test public void readFileToStringTest() throws IOException { - String s = FileReadUtil.readFileToString("/Users/linqiankun/Desktop/test"); +// 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()); } @Test public void writeFromStringTest() { - String filepath = "/Users/linqiankun/Desktop/test"; +// String filepath = "/Users/linqiankun/Desktop/test"; + String filepath = "src/test/resources/test"; String s = "wertyukmcdrtyukmnhgfrtyu"; FileWriteUtil.writeFromString(s, filepath); } @@ -32,7 +36,8 @@ public class FileTest { @Test public void writeFromInputStreamTest() { InputStream in = this.getClass().getClassLoader().getResourceAsStream("book.xml"); - String filepath = "/Users/linqiankun/Desktop/test1"; +// String filepath = "/Users/linqiankun/Desktop/test1"; + String filepath = "src/test/resources/test"; FileWriteUtil.writeFromInputStream(in,filepath); } -- Gitee From b226f10699fa35f00e481e96d448fab728f7b3b6 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: Sat, 22 Feb 2020 18:03:50 +0800 Subject: [PATCH 38/39] =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E5=8F=8D=E5=B0=84?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=AF=B9=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E5=9F=BA=E6=9C=AC=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=9A=84=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Dto/BookDto.java | 2 +- src/main/java/com/lin/Dto/TestDto.java | 18 +++++ src/main/java/com/lin/Util/InvokeUtil.java | 81 +++++++++++++++++-- src/main/java/com/lin/Util/XmlParseUtil.java | 4 +- src/test/java/com/lin/AppTest.java | 22 ++--- src/test/java/com/lin/TestUtil/ExcelTest.java | 2 +- .../java/com/lin/TestUtil/InvokeTest.java | 12 ++- src/test/java/com/lin/TestUtil/XmlTest.java | 17 ++-- 8 files changed, 128 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/lin/Dto/TestDto.java diff --git a/src/main/java/com/lin/Dto/BookDto.java b/src/main/java/com/lin/Dto/BookDto.java index 98c021c..a7fbe9f 100644 --- a/src/main/java/com/lin/Dto/BookDto.java +++ b/src/main/java/com/lin/Dto/BookDto.java @@ -6,7 +6,7 @@ import lombok.Data; public class BookDto { String name; String author; - String price; + int price; String year; String language; } diff --git a/src/main/java/com/lin/Dto/TestDto.java b/src/main/java/com/lin/Dto/TestDto.java new file mode 100644 index 0000000..9daad1a --- /dev/null +++ b/src/main/java/com/lin/Dto/TestDto.java @@ -0,0 +1,18 @@ +package com.lin.Dto; + +public class TestDto { + + + int a; + byte b; + short c; + long d; + boolean e; + float f; + double g; + char h; + String i; + Integer j; + Byte k; + +} diff --git a/src/main/java/com/lin/Util/InvokeUtil.java b/src/main/java/com/lin/Util/InvokeUtil.java index 302b311..fd309e8 100644 --- a/src/main/java/com/lin/Util/InvokeUtil.java +++ b/src/main/java/com/lin/Util/InvokeUtil.java @@ -1,8 +1,11 @@ package com.lin.Util; +import com.sun.org.apache.xpath.internal.operations.Bool; import lombok.extern.slf4j.Slf4j; +import javax.swing.*; import java.lang.reflect.Field; +import java.lang.reflect.Type; import java.util.Map; /** @@ -21,15 +24,12 @@ public class InvokeUtil { * @param map 属性值的集合 * @author com.lin, 2020-02-21 */ - public static void setFromMap(T t, Map map) { + public static void setFromMap(T t, Map map) { Class c = t.getClass(); Field[] fields = c.getDeclaredFields(); try { for (Field f : fields) { - f.setAccessible(true); - //TODO 加上属性类型判断 - String key = f.toString().substring(f.toString().lastIndexOf(".") + 1); - f.set(t, map.get(key)); + setFormatValue(t, map, f); } } catch (IllegalAccessException e) { log.error(e.getMessage()); @@ -37,4 +37,75 @@ public class InvokeUtil { } + /** + * 将不同格式的数据按字段反射进对象中 + * + * @param t 反射的类对象 + * @param map 对象值的集合 + * @param f 字段的名称 + * @param 反射对象的类型 + * @throws IllegalAccessException 参数非法异常 + * @author com.lin, 2020-02-22 + */ + private static void setFormatValue(T t, Map map, Field f) throws IllegalAccessException { + f.setAccessible(true); + String key = f.toString().substring(f.toString().lastIndexOf(".") + 1); + String typeName = f.getGenericType().getTypeName(); + switch (typeName) { + case "boolean": + f.setBoolean(t, Boolean.parseBoolean(map.get(key))); + break; + case "java.lang.Boolean": + f.set(t, Boolean.parseBoolean(map.get(key))); + break; + case "byte": + f.setByte(t, Byte.parseByte(map.get(key))); + break; + case "java.lang.Byte": + f.set(t, Byte.parseByte(map.get(key))); + break; + case "char": + f.setChar(t, map.get(key).charAt(0)); + break; + case "java.lang.Character": + f.set(t, map.get(key).charAt(0)); + break; + case "double": + f.setDouble(t, Double.parseDouble(map.get(key))); + break; + case "java.lang.Double": + f.set(t, Double.parseDouble(map.get(key))); + break; + case "float": + f.setFloat(t, Float.parseFloat(map.get(key))); + break; + case "java.lang.Float": + f.set(t, Float.parseFloat(map.get(key))); + break; + case "int": + f.setInt(t, Integer.parseInt(map.get(key))); + break; + case "java.lang.Integer": + f.set(t, Integer.parseInt(map.get(key))); + break; + case "long": + f.setLong(t, Long.parseLong(map.get(key))); + break; + case "java.lang.Long": + f.set(t, Long.parseLong(map.get(key))); + break; + case "short": + f.setShort(t, Short.parseShort(map.get(key))); + break; + case "java.lang.Short": + f.set(t, Short.parseShort(map.get(key))); + break; + case "java.lang.String": + f.set(t, map.get(key)); + break; + default: + break; + } + } + } diff --git a/src/main/java/com/lin/Util/XmlParseUtil.java b/src/main/java/com/lin/Util/XmlParseUtil.java index 4144b2f..0456574 100644 --- a/src/main/java/com/lin/Util/XmlParseUtil.java +++ b/src/main/java/com/lin/Util/XmlParseUtil.java @@ -64,8 +64,8 @@ public class XmlParseUtil { } - /** - * 读取Xml文件,后续根据此方法进行修改,进行二次开发 + /** * 读取Xml文件,后续根据此方法进行修改,进行二次开发 + * * @param filepath Xml文件的路径 * @param node Xml文件中根结点的名称 diff --git a/src/test/java/com/lin/AppTest.java b/src/test/java/com/lin/AppTest.java index 4f73e47..dd879cf 100644 --- a/src/test/java/com/lin/AppTest.java +++ b/src/test/java/com/lin/AppTest.java @@ -11,16 +11,18 @@ public class AppTest { */ @Test public void shouldAnswerWithTrue() { -// int num = 50; -// int j = 0; -// num = (j = (num++)) * 2; -// System.out.println(num); -// System.out.println(j); - - - - String s = "101 00"; - System.out.println(s.charAt(0)); + char b = 'b'; + for (int i = 0; i < 10; i++) { + switch (b) { + case 'a': + break; + case 'b': + continue; + default: + break; + } + System.out.println(i); + } } } diff --git a/src/test/java/com/lin/TestUtil/ExcelTest.java b/src/test/java/com/lin/TestUtil/ExcelTest.java index 6ef99c6..316469f 100644 --- a/src/test/java/com/lin/TestUtil/ExcelTest.java +++ b/src/test/java/com/lin/TestUtil/ExcelTest.java @@ -25,7 +25,7 @@ public class ExcelTest { b.setAuthor("cvbnm"); b.setLanguage("english"); b.setName("ihii"); - b.setPrice("90"); + b.setPrice(90); b.setYear("2020"); List l = new ArrayList<>(); l.add(b); diff --git a/src/test/java/com/lin/TestUtil/InvokeTest.java b/src/test/java/com/lin/TestUtil/InvokeTest.java index 723db45..56eb3f4 100644 --- a/src/test/java/com/lin/TestUtil/InvokeTest.java +++ b/src/test/java/com/lin/TestUtil/InvokeTest.java @@ -2,6 +2,7 @@ package com.lin.TestUtil; import com.lin.Dto.BookDto; import com.lin.Dto.SenseCallbackDto; +import com.lin.Dto.TestDto; import com.lin.Util.InvokeUtil; import com.lin.Util.XmlParseUtil; import org.junit.Test; @@ -54,13 +55,18 @@ public class InvokeTest { dto.setTemplateCode("ghjk,"); dto.setResultCode(1); - Class c = dto.getClass(); + TestDto t = new TestDto(); + + Class c = t.getClass(); Field[] fields = c.getDeclaredFields(); for (Field f : fields) { f.setAccessible(true); + + System.out.println(f.getType().getName()); + System.out.println(f.getGenericType().getTypeName()); String substring = f.toString().substring(f.toString().lastIndexOf(".") + 1); - System.out.println(f.toString() + f.get(dto)); - f.set(dto, "s"); + System.out.println(f.toString()); + } } diff --git a/src/test/java/com/lin/TestUtil/XmlTest.java b/src/test/java/com/lin/TestUtil/XmlTest.java index e3ed25c..e962f22 100644 --- a/src/test/java/com/lin/TestUtil/XmlTest.java +++ b/src/test/java/com/lin/TestUtil/XmlTest.java @@ -1,6 +1,7 @@ package com.lin.TestUtil; import com.lin.Util.FileReadUtil; +import com.lin.Util.XmlParseUtil; import org.junit.Test; import org.xml.sax.SAXException; @@ -19,15 +20,15 @@ public class XmlTest { @Test public void xmlParseTest() throws ParserConfigurationException, IOException, SAXException { String filepath = "src/test/resources/book.xml"; -// XmlParseUtil.ReadXml(filepath,"book"); + XmlParseUtil.ReadXml(filepath,"book"); - InputStream is = this.getClass().getResourceAsStream("/book.xml"); // 拿到资源 - InputStream in = this.getClass().getClassLoader().getResourceAsStream("book.xml"); - URL resource = this.getClass().getClassLoader().getResource("book.xml"); - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); - documentBuilder.parse(FileReadUtil.readFileToString(filepath)); - documentBuilder.parse(String.valueOf(resource)); +// InputStream is = this.getClass().getResourceAsStream("/book.xml"); // 拿到资源 +// InputStream in = this.getClass().getClassLoader().getResourceAsStream("book.xml"); +// URL resource = this.getClass().getClassLoader().getResource("book.xml"); +// DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); +// DocumentBuilder documentBuilder = dbf.newDocumentBuilder(); +// documentBuilder.parse(FileReadUtil.readFileToString(filepath)); +// documentBuilder.parse(String.valueOf(resource)); } -- Gitee From 1205ffa0ba9e109225e033e6e16a5b0969764194 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: Sat, 22 Feb 2020 18:08:37 +0800 Subject: [PATCH 39/39] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lin/Util/PdfExportUtil.java | 43 ------------------- 1 file changed, 43 deletions(-) delete mode 100644 src/main/java/com/lin/Util/PdfExportUtil.java diff --git a/src/main/java/com/lin/Util/PdfExportUtil.java b/src/main/java/com/lin/Util/PdfExportUtil.java deleted file mode 100644 index 5256516..0000000 --- a/src/main/java/com/lin/Util/PdfExportUtil.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.lin.Util; - -import com.itextpdf.text.Document; -import com.itextpdf.text.DocumentException; -import com.itextpdf.text.Paragraph; -import com.itextpdf.text.pdf.PdfWriter; -import lombok.extern.slf4j.Slf4j; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; - -/** - * excel导出工具 - * - * @author 九分石人, 2020-02-17 - */ -@Slf4j -public class PdfExportUtil { - - /** - * 保存pdf文件到本地 - * - * @param document - * @param filepath - */ - public static void writePdfToFile(Document document, String filepath) { - File file = FileWriteUtil.canCreatFile(filepath); - FileOutputStream out = null; - try { - out = new FileOutputStream(file); - PdfWriter.getInstance(document, out); - document.open(); - document.add(new Paragraph("")); - document.close(); - - } catch (DocumentException | FileNotFoundException e) { - log.error(e.getMessage()); - } - - } - -} -- Gitee