{"id":1762,"date":"2024-05-29T07:35:52","date_gmt":"2024-05-29T07:35:52","guid":{"rendered":"https:\/\/www.nicekj.com\/?p=1762"},"modified":"2024-05-29T07:38:08","modified_gmt":"2024-05-29T07:38:08","slug":"zuiqiangai-claude-3youyishilesigewentikanchuhechatgptchaju","status":"publish","type":"post","link":"https:\/\/www.nicekj.com\/zuiqiangai-claude-3youyishilesigewentikanchuhechatgptchaju.html","title":{"rendered":"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd"},"content":{"rendered":"<blockquote>\n<p>\u539f\u6587\uff1a<a href=\"https:\/\/link.juejin.cn?target=https%3A%2F%2Fmp.weixin.qq.com%2Fs%2F7qoaXRsoFClsYvqH0JMiNw\" target=\"_blank\" title=\"https:\/\/mp.weixin.qq.com\/s\/7qoaXRsoFClsYvqH0JMiNw\" ref=\"nofollow noopener noreferrer\" rel=\"noopener\">\u8d75\u4fa0\u5ba2<\/a><\/p>\n<\/blockquote>\n<h1 data-id=\"heading-0\">\u524d\u8a00<\/h1>\n<p>sora\u7684\u70ed\u70b9\u8fd8\u6ca1\u6709\u892a\u53bb\uff0c\u8fd9\u4e24\u5929\u53c8\u5927\u706b\u4e86Clude3\uff0c\u6709\u7684\u8bf4\u8d85\u8d8aGPT-4\uff0c\u8fd8\u6709\u7684\u8bf4\u6709\u610f\u8bc6\u4e86\uff0c\u8fde\u9a6c\u65af\u514b\u90fd\u8bf4\u4eba\u7c7b\u4e5f\u662f\u6587\u4ef6\u4e5f\u3002\u6211\u4eec\u8fd9\u4e9b\u5403\u74dc\u7fa4\u4f17\u770b\u7740AI\u6bcf\u9694\u51e0\u5929\u4e00\u4e2a\u70ed\u70b9\uff0c\u5fc3\u7406\u7d20\u8d28\u5dee\u7684\u4eba\u6709\u53ef\u80fd\u8d8a\u6765\u8d8a\u7126\u8651\u3002\u56de\u5934\u770b\u770b\u8fd9\u51e0\u5e74\u5927\u706b\u7684\u4e1c\u897f\uff0c\u50cf\u533a\u5757\u94fe\u3001\u5143\u5b87\u5b99\u3001WEB3\u54ea\u4e2a\u5f53\u5e74\u662f\u4e0d\u53f7\u79f0\u8981\u6539\u53d8\u4e16\u754c\uff0c\u5982\u4eca\u4ed6\u4eec\u90fd\u600e\u4e48\u6837\u4f60\u4eec\u90fd\u77e5\u9053\u3002\u8bfb\u4e07\u5377\u4e66\u4e0d\u5982\u884c\u4e07\u91cc\u8def\uff0c\u770b\u8fd9\u4e9bAI\u70ed\u70b9\u8fd8\u4e0d\u5982\u4eb2\u81ea\u4f7f\u7528\u4e00\u4e0b\uff0c\u4e3a\u4e86\u907f\u514dAI\u7126\u8651\u6211\u8fd8\u662f\u8d81\u70ed\u6253\u94c1\uff0c\u5148\u5f00\u7bb1\u4f7f\u7528\u4e00\u4e0bClaude3\uff0c\u770b\u770b\u5728\u4ee3\u7801\u751f\u6210\u65b9\u9762\u548cChatGPT\u54ea\u4e2a\u5f3a\u3002<\/p>\n<h1 data-id=\"heading-1\">\u95ee\u9898\u4e00\uff1aNacos\u914d\u7f6e\u4fee\u6539\uff0c\u4ee3\u7801\u4e2d\u5982\u4f55\u81ea\u52a8\u5237\u65b0<\/h1>\n<h2 data-id=\"heading-2\">ChatGPT<\/h2>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/85d365948cff97fa96fb78d7ef058086.png\" alt=\"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd\" \/><\/figure>\n<\/p>\n<h2 data-id=\"heading-3\">Claude 3<\/h2>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/7774138d87a13924176b5d023e89aaba.png\" alt=\"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd\" \/><\/figure>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/970d7060ea9d0dcdda44958ada17cb26.png\" alt=\"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd\" \/><\/figure>\n<\/p>\n<h2 data-id=\"heading-4\">\u5bf9\u6bd4<\/h2>\n<p>\u4ece\u56de\u7b54\u6765\u770bClaude3\u786e\u5b9e\u5b8c\u7206ChatGPT\uff0c\u4e0d\u4ec5\u7ed9\u51fa\u4e86\u914d\u7f6e\u4ee3\u7801\u8fd8\u7ed9\u51fa\u4e86\u8c03\u7528\u4ee3\u7801\uff0cChatGPT\u7684\u56de\u7b54\u5c31\u663e\u7684\u592a\u7b80\u5355\u4e86\u3002<\/p>\n<h1 data-id=\"heading-5\">\u95ee\u9898\u4e8c\uff1a\u5e2e\u6211\u4f7f\u7528CompletableFuture\u5c06100\u4e2aURL\u5e76\u53d1\u4e0b\u8f7d\u5230\u672c\u5730\/usr\/pic\u76ee\u5f55\u4e0b<\/h1>\n<h2 data-id=\"heading-6\">ChatGPT<\/h2>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/b48f0d4e15bbfba183e547ec0bcd5e4c.png\" alt=\"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd\" \/><\/figure>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/0608109f9c702add1f6ff32b776eba13.png\" alt=\"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd\" \/><\/figure>\n<\/p>\n<h2 data-id=\"heading-7\">Claude 3<\/h2>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/a4f692e9b4e7ca60d5b8de8358c57ab7.png\" alt=\"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd\" \/><\/figure>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/1a624fe6a485b87e4bcebefc7874c1dc.png\" alt=\"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd\" \/><\/figure>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/67688b223c7f6dbe2bc5729d5a1c7fa0.png\" alt=\"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd\" \/><\/figure>\n<\/p>\n<h2 data-id=\"heading-8\">\u5bf9\u6bd4<\/h2>\n<p>\u4ece\u8fd9\u6bb5\u4e0b\u8f7d\u4ee3\u7801\u6765\u770bClaude3\u4e5f\u5f3a\u4e8eChatGPT\uff0cChatGPT\u7684<code>DownloadFromUrl<\/code>\u7701\u7565\u4e86\uff0cClaude3\u4ee3\u7801\u5b8c\u6574\u8fd8\u7ed9\u51fa\u4e86\u89e3\u91ca\u3002<\/p>\n<h1 data-id=\"heading-9\">\u95ee\u9898\u4e09\uff1a\u7136\u540e\u7528JAVA\u591a\u7ebf\u7a0b\u5c06\/usr\/pic\u4e0b\u8f7d\u6240\u6709\u76ee\u5f55\u53ca\u5176\u5b50\u76ee\u5f55\u4e2d\u7684\u6587\u4ef6\u6253\u5305\u6210zip\u6587\u4ef6<\/h1>\n<h2 data-id=\"heading-10\">ChatGPT<\/h2>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/88633d2d1f329846f6799e9f40009363.png\" alt=\"image.png\" \/><\/figure>\n<\/p>\n<pre><\/div><div class=\"code-block-extension-headerRight\"><span class=\"code-block-extension-lang\">java<\/span><div class=\"code-block-extension-copyCodeBtn\">\u590d\u5236\u4ee3\u7801<\/div><\/div><\/div><code class=\"hljs language-java code-block-extension-codeShowNum\" lang=\"java\"><span class=\"code-block-extension-codeLine\" data-line-num=\"1\"><span class=\"hljs-keyword\">import<\/span> java.io.*;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"2\"><span class=\"hljs-keyword\">import<\/span> java.util.concurrent.*;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"3\"><span class=\"hljs-keyword\">import<\/span> java.util.zip.*;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"4\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"5\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">ZipCreator<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"6\">    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"7\">        <span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">sourceDir<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-string\">\"\/usr\/pic\"<\/span>; <span class=\"hljs-comment\">\/\/ \u6e90\u76ee\u5f55<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"8\">        <span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">zipFile<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-string\">\"\/usr\/pic.zip\"<\/span>; <span class=\"hljs-comment\">\/\/ \u76ee\u6807zip\u6587\u4ef6<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"9\">        <span class=\"hljs-comment\">\/\/ \u4f7f\u7528\u7ebf\u7a0b\u6c60\u521b\u5efa\u591a\u7ebf\u7a0b<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"10\">        <span class=\"hljs-type\">ExecutorService<\/span> <span class=\"hljs-variable\">executor<\/span> <span class=\"hljs-operator\">=<\/span> Executors.newFixedThreadPool(<span class=\"hljs-number\">5<\/span>);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"11\">        <span class=\"hljs-keyword\">try<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"12\">            <span class=\"hljs-comment\">\/\/ \u521b\u5efaZipOutputStream\u7528\u4e8e\u5199\u5165zip\u6587\u4ef6<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"13\">            <span class=\"hljs-type\">FileOutputStream<\/span> <span class=\"hljs-variable\">fos<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">FileOutputStream<\/span>(zipFile);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"14\">            <span class=\"hljs-type\">ZipOutputStream<\/span> <span class=\"hljs-variable\">zos<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">ZipOutputStream<\/span>(fos);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"15\">            <span class=\"hljs-comment\">\/\/ \u904d\u5386\u6307\u5b9a\u76ee\u5f55\u53ca\u5176\u5b50\u76ee\u5f55\u4e2d\u7684\u6587\u4ef6<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"16\">            traverseAndZip(sourceDir, sourceDir, zos, executor);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"17\">            <span class=\"hljs-comment\">\/\/ \u5173\u95edZipOutputStream<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"18\">            zos.close();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"19\">            System.out.println(<span class=\"hljs-string\">\"Zip file created successfully: \"<\/span> + zipFile);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"20\">        } <span class=\"hljs-keyword\">catch<\/span> (IOException e) {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"21\">            e.printStackTrace();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"22\">        } <span class=\"hljs-keyword\">finally<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"23\">            <span class=\"hljs-comment\">\/\/ \u5173\u95ed\u7ebf\u7a0b\u6c60<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"24\">            executor.shutdown();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"25\">        }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"26\">    }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"27\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"28\">    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">traverseAndZip<\/span><span class=\"hljs-params\">(String rootDir, String currentDir, ZipOutputStream zos, ExecutorService executor)<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"29\">        <span class=\"hljs-type\">File<\/span> <span class=\"hljs-variable\">dir<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">File<\/span>(currentDir);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"30\">        File[] files = dir.listFiles();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"31\">        <span class=\"hljs-keyword\">if<\/span> (files != <span class=\"hljs-literal\">null<\/span>) {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"32\">            <span class=\"hljs-keyword\">for<\/span> (File file : files) {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"33\">                <span class=\"hljs-keyword\">if<\/span> (file.isDirectory()) {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"34\">                    <span class=\"hljs-comment\">\/\/ \u5982\u679c\u662f\u76ee\u5f55\uff0c\u5219\u9012\u5f52\u904d\u5386<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"35\">                    traverseAndZip(rootDir, file.getAbsolutePath(), zos, executor);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"36\">                } <span class=\"hljs-keyword\">else<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"37\">                    <span class=\"hljs-comment\">\/\/ \u5982\u679c\u662f\u6587\u4ef6\uff0c\u5219\u63d0\u4ea4\u4e00\u4e2a\u4efb\u52a1\u7ed9\u7ebf\u7a0b\u6c60\u6765\u8fdb\u884c\u538b\u7f29<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"38\">                    executor.submit(() -&gt; {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"39\">                        <span class=\"hljs-keyword\">try<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"40\">                            <span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">entryName<\/span> <span class=\"hljs-operator\">=<\/span> file.getAbsolutePath().substring(rootDir.length() + <span class=\"hljs-number\">1<\/span>);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"41\">                            <span class=\"hljs-type\">ZipEntry<\/span> <span class=\"hljs-variable\">zipEntry<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">ZipEntry<\/span>(entryName);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"42\">                            zos.putNextEntry(zipEntry);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"43\">                            <span class=\"hljs-type\">FileInputStream<\/span> <span class=\"hljs-variable\">fis<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">FileInputStream<\/span>(file);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"44\">                            <span class=\"hljs-type\">byte<\/span>[] buffer = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">byte<\/span>[<span class=\"hljs-number\">1024<\/span>];<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"45\">                            <span class=\"hljs-type\">int<\/span> length;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"46\">                            <span class=\"hljs-keyword\">while<\/span> ((length = fis.read(buffer)) &gt; <span class=\"hljs-number\">0<\/span>) {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"47\">                                zos.write(buffer, <span class=\"hljs-number\">0<\/span>, length);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"48\">                            }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"49\">                            fis.close();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"50\">                            zos.closeEntry();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"51\">                            System.out.println(<span class=\"hljs-string\">\"File added to zip: \"<\/span> + file.getAbsolutePath());<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"52\">                        } <span class=\"hljs-keyword\">catch<\/span> (IOException e) {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"53\">                            e.printStackTrace();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"54\">                        }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"55\">                    });<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"56\">                }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"57\">            }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"58\">        }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"59\">    }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"60\">}<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"61\"><\/span>\n<\/code><\/pre>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/2d186896e8ee91e3e29aef4d4d71fe3a.png\" alt=\"image.png\" \/><\/figure>\n<\/p>\n<h2 data-id=\"heading-11\">Claude 3<\/h2>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/f6f093dc00d602759f16c182992db6e9.png\" alt=\"\u6700\u5f3aAI Claude 3\u6709\u610f\u8bc6\u4e86\uff1f\u56db\u4e2a\u95ee\u9898\u770b\u51fa\u548cChatGPT\u5dee\u8ddd\" \/><\/figure>\n<\/p>\n<pre><\/div><div class=\"code-block-extension-headerRight\"><span class=\"code-block-extension-lang\">java<\/span><div class=\"code-block-extension-copyCodeBtn\">\u590d\u5236\u4ee3\u7801<\/div><\/div><\/div><code class=\"hljs language-java code-block-extension-codeShowNum\" lang=\"java\"><span class=\"code-block-extension-codeLine\" data-line-num=\"1\"><span class=\"hljs-keyword\">import<\/span> java.io.IOException;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"2\"><span class=\"hljs-keyword\">import<\/span> java.nio.file.FileVisitResult;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"3\"><span class=\"hljs-keyword\">import<\/span> java.nio.file.Files;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"4\"><span class=\"hljs-keyword\">import<\/span> java.nio.file.Path;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"5\"><span class=\"hljs-keyword\">import<\/span> java.nio.file.Paths;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"6\"><span class=\"hljs-keyword\">import<\/span> java.nio.file.SimpleFileVisitor;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"7\"><span class=\"hljs-keyword\">import<\/span> java.nio.file.attribute.BasicFileAttributes;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"8\"><span class=\"hljs-keyword\">import<\/span> java.util.concurrent.ExecutorService;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"9\"><span class=\"hljs-keyword\">import<\/span> java.util.concurrent.Executors;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"10\"><span class=\"hljs-keyword\">import<\/span> java.util.concurrent.Phaser;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"11\"><span class=\"hljs-keyword\">import<\/span> java.util.zip.ZipEntry;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"12\"><span class=\"hljs-keyword\">import<\/span> java.util.zip.ZipOutputStream;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"13\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"14\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">ZipFileCreator<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"15\">    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">final<\/span> <span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">SOURCE_DIR<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-string\">\"\/usr\/pic\"<\/span>;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"16\">    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">final<\/span> <span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">ZIP_FILE<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-string\">\"\/usr\/pic.zip\"<\/span>;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"17\">    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">final<\/span> <span class=\"hljs-type\">int<\/span> <span class=\"hljs-variable\">THREAD_COUNT<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-number\">4<\/span>;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"18\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"19\">    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> <span class=\"hljs-keyword\">throws<\/span> IOException {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"20\">        <span class=\"hljs-type\">Path<\/span> <span class=\"hljs-variable\">sourcePath<\/span> <span class=\"hljs-operator\">=<\/span> Paths.get(SOURCE_DIR);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"21\">        <span class=\"hljs-type\">Path<\/span> <span class=\"hljs-variable\">zipPath<\/span> <span class=\"hljs-operator\">=<\/span> Paths.get(ZIP_FILE);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"22\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"23\">        <span class=\"hljs-keyword\">try<\/span> (<span class=\"hljs-type\">ZipOutputStream<\/span> <span class=\"hljs-variable\">zipOutputStream<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">ZipOutputStream<\/span>(Files.newOutputStream(zipPath))) {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"24\">            <span class=\"hljs-type\">Phaser<\/span> <span class=\"hljs-variable\">phaser<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Phaser<\/span>(<span class=\"hljs-number\">1<\/span>);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"25\">            <span class=\"hljs-type\">ExecutorService<\/span> <span class=\"hljs-variable\">executorService<\/span> <span class=\"hljs-operator\">=<\/span> Executors.newFixedThreadPool(THREAD_COUNT);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"26\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"27\">            Files.walkFileTree(sourcePath, <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">SimpleFileVisitor<\/span>&lt;Path&gt;() {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"28\">                <span class=\"hljs-meta\">@Override<\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"29\">                <span class=\"hljs-keyword\">public<\/span> FileVisitResult <span class=\"hljs-title function_\">preVisitDirectory<\/span><span class=\"hljs-params\">(Path dir, BasicFileAttributes attrs)<\/span> <span class=\"hljs-keyword\">throws<\/span> IOException {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"30\">                    phaser.register();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"31\">                    executorService.submit(() -&gt; {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"32\">                        <span class=\"hljs-keyword\">try<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"33\">                            zipDirectory(dir, sourcePath, zipOutputStream);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"34\">                        } <span class=\"hljs-keyword\">finally<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"35\">                            phaser.arriveAndDeregister();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"36\">                        }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"37\">                    });<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"38\">                    <span class=\"hljs-keyword\">return<\/span> FileVisitResult.CONTINUE;<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"39\">                }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"40\">            });<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"41\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"42\">            phaser.arriveAndAwaitAdvance();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"43\">            executorService.shutdown();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"44\">        }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"45\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"46\">        System.out.println(<span class=\"hljs-string\">\"ZIP file created: \"<\/span> + ZIP_FILE);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"47\">    }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"48\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"49\">    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">zipDirectory<\/span><span class=\"hljs-params\">(Path dir, Path sourcePath, ZipOutputStream zipOutputStream)<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"50\">        <span class=\"hljs-keyword\">try<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"51\">            Files.walk(dir)<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"52\">                    .filter(path -&gt; !Files.isDirectory(path))<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"53\">                    .forEach(path -&gt; {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"54\">                        <span class=\"hljs-keyword\">try<\/span> {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"55\">                            <span class=\"hljs-type\">ZipEntry<\/span> <span class=\"hljs-variable\">zipEntry<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">ZipEntry<\/span>(sourcePath.relativize(path).toString());<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"56\">                            zipOutputStream.putNextEntry(zipEntry);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"57\">                            Files.copy(path, zipOutputStream);<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"58\">                            zipOutputStream.closeEntry();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"59\">                        } <span class=\"hljs-keyword\">catch<\/span> (IOException e) {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"60\">                            e.printStackTrace();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"61\">                        }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"62\">                    });<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"63\">        } <span class=\"hljs-keyword\">catch<\/span> (IOException e) {<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"64\">            e.printStackTrace();<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"65\">        }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"66\">    }<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"67\">}<\/span>\n<\/code><\/pre>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/460d82cb0a9ed059d91121cbf37eab0a.png\" alt=\"image.png\" \/><\/figure>\n<\/p>\n<h2 data-id=\"heading-12\">\u5bf9\u6bd4<\/h2>\n<p>\u4ece\u8fd9\u4e2a\u591a\u7ebf\u7a0b\u538b\u7f29\u4ee3\u7801\u6765\u770b\uff0cChatGPT\u7528\u7684\u65b9\u6cd5\u6bd4\u8f83\u4f20\u7edf\uff0cClaude3\u7528\u7684\u76f8\u5bf9\u66f4\u65b0\uff0c\u66f4\u5148\u8fdb\u3002<\/p>\n<h1 data-id=\"heading-13\">\u95ee\u9898\u56db\uff1a\u6570\u636e\u5904\u7406<\/h1>\n<pre><\/div><div class=\"code-block-extension-headerRight\"><span class=\"code-block-extension-lang\">shell<\/span><div class=\"code-block-extension-copyCodeBtn\">\u590d\u5236\u4ee3\u7801<\/div><\/div><\/div><code class=\"hljs language-shell code-block-extension-codeShowNum\" lang=\"shell\"><span class=\"code-block-extension-codeLine\" data-line-num=\"1\">\u5e2e\u6211\u5c06\u4e0b\u5217\u6570\u636e\u6570\u636e\u548c\u4e2d\u6587\u6309\u987a\u5e8f\u5206\u522b\u63d0\u53d6\u51fa\u6765\uff0c\u7528\/\u5206\u9694<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"2\">\u8f93\u5165\uff1a<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"3\"><span class=\"hljs-meta prompt_\">72#<\/span><span class=\"bash\">\u5927\u516c\u53f8\/73<span class=\"hljs-comment\">#\u9879\u76ee\u90e8\/84#\u5b9e\u65bd\u56e2\u961f<\/span><\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"4\">\u8f93\u51fa\uff1a<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"5\">72\/73\/84 \uff0c\u5927\u516c\u53f8\/\u9879\u76ee\u90e8\/\u5b9e\u65bd\u56e2\u961f<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"6\"><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"7\">\u9700\u6c42\u5904\u7406\u7684\u6570\u636e\uff1a<\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"8\"><span class=\"hljs-meta prompt_\">72#<\/span><span class=\"bash\">\u5927\u516c\u53f8\/73<span class=\"hljs-comment\">#\u9879\u76ee\u90e8\/84#\u5b9e\u65bd\u56e2\u961f<\/span><\/span><\/span>\n<span class=\"code-block-extension-codeLine\" data-line-num=\"9\"><span class=\"hljs-meta prompt_\">72#<\/span><span class=\"bash\">\u5927\u516c\u53f8\/73<span class=\"hljs-comment\">#\u9879\u76ee\u90e8\/82#\u5f00\u53d1\u6d4b\u8bd5\u7ec4\u7ec7<\/span><\/span><\/span>\n<\/code><\/pre>\n<h2 data-id=\"heading-14\">ChatGPT<\/h2>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/d5a7941a0f890ac724a3580fc49d2aa2.png\" alt=\"image.png\" \/><\/figure>\n<\/p>\n<h2 data-id=\"heading-15\">Claude 3<\/h2>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/421574df976cf98ae8386657dde653bb.png\" alt=\"image.png\" \/><\/figure>\n<\/p>\n<p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.nicekj.com\/wp-content\/uploads\/replace\/a56cb24e7ec030d71bb5ca7b526c445d.png\" alt=\"image.png\" \/><\/figure>\n<\/p>\n<h2 data-id=\"heading-16\">\u5bf9\u6bd4<\/h2>\n<p>\u4ece\u8fd9\u4e2a\u6570\u636e\u5904\u7406\u6765\u770bClaude3\u8fd8\u662f\u5f3a\u4e8eChatGPT<\/p>\n<h1 data-id=\"heading-17\">\u603b\u7ed3<\/h1>\n<p>\u4ece\u56db\u9053\u4ee3\u7801\u95ee\u9898\u6765\u770bClaude 3\u786e\u5b9e\u86ee\u5f3a\u7684\uff0c\u4ee3\u7801\u751f\u6210\u53ef\u4ee5\u8bf4\u8d85\u8fc7\u4e86ChatGPT\uff0c\u5176\u5b83\u9886\u57df\u6709\u6ca1\u6709\u8d85\u8fc7ChatGPT\u8fd8\u9700\u8981\u7ee7\u7eed\u6d4b\u8bd5\uff0c\u81f3\u4e8e\u6709\u6ca1\u6709\u610f\u8bc6\uff0c\u8fd9\u4e2a\u4e0d\u77e5\u9053\u600e\u4e48\u6d4b\u8bd5\uff0c\u6709\u4eba\u77e5\u9053\u600e\u4e48\u6d4b\u8bd5\u5417\uff1f\u53ef\u4ee5\u4ea4\u6d41\u4e00\u4e0b<\/p>","protected":false},"excerpt":{"rendered":"<p>sora\u7684\u70ed\u70b9\u8fd8\u6ca1\u6709\u892a\u53bb\uff0c\u8fd9\u4e24\u5929\u53c8\u5927\u706b\u4e86Clude3\uff0c\u6709\u7684\u8bf4\u8d85\u8d8aGPT-4\uff0c\u8fd8\u6709\u7684\u8bf4\u6709\u610f\u8bc6\u4e86\uff0c\u8fde\u9a6c\u65af\u514b\u90fd\u8bf4\u4eba\u7c7b\u4e5f\u662f\u6587\u4ef6\u4e5f\u3002\u6211\u4eec\u8fd9\u4e9b\u5403\u74dc\u7fa4\u4f17\u770b\u7740AI\u6bcf\u9694\u51e0\u5929\u4e00\u4e2a\u70ed\u70b9\uff0c\u5fc3\u7406\u7d20\u8d28\u5dee\u7684\u4eba\u6709\u53ef\u80fd\u8d8a\u6765\u8d8a\u7126\u8651<\/p>\n","protected":false},"author":1,"featured_media":11720,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"","rank_math_description":"","rank_math_focus_keyword":"","views":"1","footnotes":""},"categories":[3],"tags":[128,129,136,126,127],"collection":[],"class_list":["post-1762","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fenlei2","tag-128","tag-129","tag-136","tag-gpt","tag-ai"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/posts\/1762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/comments?post=1762"}],"version-history":[{"count":0,"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/posts\/1762\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/media\/11720"}],"wp:attachment":[{"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/media?parent=1762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/categories?post=1762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/tags?post=1762"},{"taxonomy":"collection","embeddable":true,"href":"https:\/\/www.nicekj.com\/nicekj2024\/wp\/v2\/collection?post=1762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}