{"id":3978,"date":"2018-06-11T08:37:47","date_gmt":"2018-06-11T00:37:47","guid":{"rendered":"https:\/\/ixyzero.com\/blog\/?p=3978"},"modified":"2018-06-11T08:37:47","modified_gmt":"2018-06-11T00:37:47","slug":"java%e4%b8%ad%e7%9a%84%e4%b8%80%e4%ba%9b%e5%9f%ba%e7%a1%80%e4%bb%a3%e7%a0%81%e7%89%87%e6%ae%b5_3","status":"publish","type":"post","link":"https:\/\/ixyzero.com\/blog\/archives\/3978.html","title":{"rendered":"Java\u4e2d\u7684\u4e00\u4e9b\u57fa\u7840\u4ee3\u7801\u7247\u6bb5_3"},"content":{"rendered":"<p>=Start=<\/p>\n<h4 id=\"id-\u6a21\u677f-\u7f18\u7531\uff1a\">\u7f18\u7531\uff1a<\/h4>\n<p>\u5728\u5b66\u4e60Java\u7684\u8fc7\u7a0b\u4e2d\u4e0d\u65ad\u7528\u6587\u7ae0\u8fdb\u884c\u6574\u7406\u603b\u7ed3\uff08\u5e38\u7528\u529f\u80fd\u7684Java\u5b9e\u73b0\uff09\uff0c\u4e89\u53d6\u65e9\u65e5\u80fd\u8f83\u4e3a\u719f\u7ec3\u7684\u4f7f\u7528Java\u8fdb\u884c\u5f00\u53d1\u3002<\/p>\n<h4 id=\"id-\u6a21\u677f-\u6b63\u6587\uff1a\">\u6b63\u6587\uff1a<\/h4>\n<h5 id=\"id-\u6a21\u677f-\u53c2\u8003\u89e3\u7b54\uff1a\">\u53c2\u8003\u89e3\u7b54\uff1a<\/h5>\n<h6><strong>7. Java\u4e2d \u6587\u4ef6\u64cd\u4f5c \u7684\u65b9\u6cd5\u603b\u7ed3<\/strong><\/h6>\n<ul>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/5868369\/how-to-read-a-large-text-file-line-by-line-using-java\">https:\/\/stackoverflow.com\/questions\/5868369\/how-to-read-a-large-text-file-line-by-line-using-java<\/a><\/li>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/33892453\/how-to-read-line-by-line-by-using-filereader\">https:\/\/stackoverflow.com\/questions\/33892453\/how-to-read-line-by-line-by-using-filereader<\/a><\/li>\n<li><a href=\"https:\/\/www.programcreek.com\/2011\/03\/java-read-a-file-line-by-line-code-example\/\">https:\/\/www.programcreek.com\/2011\/03\/java-read-a-file-line-by-line-code-example\/<\/a><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true \">package com.ixyzero.learn.misc;\r\n\r\nimport java.io.*;\r\nimport java.nio.file.Paths;\r\nimport java.util.HashMap;\r\nimport java.util.Map;\r\n\r\n\/**\r\n * Created by ixyzero.com on 2018\/6\/9.\r\n *\/\r\npublic class TestFileRW {\r\n    private String classPath = this.getClass().getClassLoader().getResource(\"\").getPath();\r\n\r\n    public static void main(String[] args) {\r\n\r\n        \/\/ \u9879\u76ee\u6240\u5728\u8def\u5f84\r\n        System.out.println(\"System.getProperty(\\\"user.dir\\\") == \" + System.getProperty(\"user.dir\"));\r\n        System.out.println(\"Paths.get(\\\".\\\").toAbsolutePath().normalize().toString() ==\" + Paths.get(\".\").toAbsolutePath().normalize().toString());\r\n\r\n        File currentDirectory = new File(new File(\".\").getAbsolutePath());\r\n        try {\r\n            System.out.println(\"currentDirectory.getCanonicalPath() == \" + currentDirectory.getCanonicalPath());\r\n            System.out.println(\"currentDirectory.getAbsolutePath() == \" + currentDirectory.getAbsolutePath());\r\n        } catch (IOException e) {\r\n            e.printStackTrace();\r\n        }\r\n\r\n        \/\/ class\u6587\u4ef6\u6240\u5728\u8def\u5f84\r\n        System.out.println(TestFileRW.class.getProtectionDomain().getCodeSource().getLocation().getFile());\r\n\r\n        TestFileRW aFile = new TestFileRW();\r\n        System.out.println(aFile.classPath);\r\n\r\n        Map&lt;String, Integer&gt; exceptionMap = new HashMap&lt;&gt;();\r\n        String filename = \"\/tmp\/testInput.txt\"; \/\/\u6700\u597d\u6307\u5b9a\u7edd\u5bf9\u8def\u5f84\uff0c\u907f\u514d\u627e\u4e0d\u5230\r\n        try (BufferedReader br = new BufferedReader(new FileReader(filename))) {\r\n            String line;\r\n            while ( (line = br.readLine()) != null ) {\r\n                line = line.replace(\",\", \"\").replace(\";\", \"\");\r\n                String[] words = line.split(\" \");\r\n                for (String word: words) {\r\n                    if (word.contains(\"Exception\")) {\r\n                        if (exceptionMap.get(word) != null) {\r\n                            exceptionMap.put(word, exceptionMap.get(word)+1);\r\n                        } else {\r\n                            exceptionMap.put(word, 1);\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            System.out.println();\r\n            for (String key: exceptionMap.keySet()) {\r\n                System.out.println(String.format(\"%s: %d\", key, exceptionMap.get(key)));\r\n            }\r\n        } catch (FileNotFoundException e) {\r\n            e.printStackTrace();\r\n        } catch (IOException e) {\r\n            e.printStackTrace();\r\n        }\r\n    }\r\n}<\/pre>\n<h6><strong>8. Java\u4e2d MySQL \u7684\u64cd\u4f5c\u603b\u7ed3<\/strong><\/h6>\n<ul>\n<li><a href=\"http:\/\/www.runoob.com\/java\/java-mysql-connect.html\">http:\/\/www.runoob.com\/java\/java-mysql-connect.html<\/a><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true \">package com.ixyzero.learn.misc;\r\n\r\nimport java.sql.*;\r\n\r\n\/**\r\n * Created by ixyzero.com on 2018\/6\/9.\r\n *\/\r\npublic class TestMySQL {\r\n    \/\/ JDBC \u9a71\u52a8\u540d\u53ca\u6570\u636e\u5e93 URL\r\n    static final String JDBC_DRIVER = \"com.mysql.jdbc.Driver\";\r\n    static final String DB_URL = \"jdbc:mysql:\/\/localhost:3306\/db_name\";\r\n\r\n    \/\/ \u6570\u636e\u5e93\u7684\u7528\u6237\u540d\u4e0e\u5bc6\u7801\uff0c\u9700\u8981\u6839\u636e\u81ea\u5df1\u7684\u8bbe\u7f6e\r\n    static final String USER = \"username\";\r\n    static final String PASS = \"password\";\r\n\r\n    public static void main(String[] args) {\r\n        Connection conn = null;\r\n        Statement stmt = null;\r\n        try{\r\n            \/\/ \u6ce8\u518c JDBC \u9a71\u52a8\r\n            Class.forName(\"com.mysql.jdbc.Driver\");\r\n\r\n            \/\/ \u6253\u5f00\u94fe\u63a5\r\n            System.out.println(\"\u8fde\u63a5\u6570\u636e\u5e93...\");\r\n            conn = DriverManager.getConnection(DB_URL, USER, PASS);\r\n\r\n            \/\/ \u6267\u884c\u67e5\u8be2\r\n            System.out.println(\"\u5b9e\u4f8b\u5316Statement\u5bf9\u8c61...\");\r\n            stmt = conn.createStatement();\r\n            String sql;\r\n            sql = \"SELECT id, name, url FROM websites\";\r\n            ResultSet rs = stmt.executeQuery(sql);\r\n\r\n            \/\/ \u5c55\u5f00\u7ed3\u679c\u96c6\u6570\u636e\u5e93\r\n            while(rs.next()){\r\n                \/\/ \u901a\u8fc7\u5b57\u6bb5\u68c0\u7d22\r\n                int id  = rs.getInt(\"id\");\r\n                String name = rs.getString(\"name\");\r\n                String url = rs.getString(\"url\");\r\n\r\n                \/\/ \u8f93\u51fa\u6570\u636e\r\n                System.out.print(\"ID: \" + id);\r\n                System.out.print(\", \u7ad9\u70b9\u540d\u79f0: \" + name);\r\n                System.out.print(\", \u7ad9\u70b9 URL: \" + url);\r\n                System.out.println();\r\n            }\r\n            \/\/ \u5b8c\u6210\u540e\u5173\u95ed\r\n            rs.close();\r\n            stmt.close();\r\n            conn.close();\r\n        } catch(SQLException se) {\r\n            \/\/ \u5904\u7406 JDBC \u9519\u8bef\r\n            se.printStackTrace();\r\n        } catch(Exception e) {\r\n            \/\/ \u5904\u7406 Class.forName \u9519\u8bef\r\n            e.printStackTrace();\r\n        } finally {\r\n            \/\/ \u5173\u95ed\u8d44\u6e90\r\n            try {\r\n                if(stmt!=null) stmt.close();\r\n            } catch(SQLException se2) {\r\n                \/\/ \u4ec0\u4e48\u90fd\u4e0d\u505a\r\n            }\r\n            try {\r\n                if(conn!=null) conn.close();\r\n            } catch(SQLException se) {\r\n                se.printStackTrace();\r\n            }\r\n        }\r\n        System.out.println(\"Goodbye!\");\r\n    }\r\n\r\n}<\/pre>\n<p>&amp;<\/p>\n<p>\u73b0\u5728\u4e00\u822c\u90fd\u662f\u901a\u8fc7Maven\u7ba1\u7406\u7684jar\u5305\u4f9d\u8d56\u4e86\uff0c\u6240\u4ee5\uff0c\u6839\u636e\u672c\u673a\u7684\u5b9e\u9645\u60c5\u51b5\uff0c\u5728\u9879\u76ee\u7684pom.xml\u8fdb\u884c\u76f8\u5e94\u7684\u6dfb\u52a0\uff0c\u4ee5\u907f\u514d\u300cjava.lang.ClassNotFoundException: com.mysql.jdbc.Driver\u300d\u9519\u8bef\uff1a<\/p>\n<pre class=\"lang:default decode:true \"># ll ~\/.m2\/repository\/mysql\/mysql-connector-java\r\n# tree ~\/.m2\/repository\/mysql\/mysql-connector-java\r\n\r\n# add to pom.xml\r\n&lt;!-- https:\/\/mvnrepository.com\/artifact\/mysql\/mysql-connector-java --&gt;\r\n&lt;dependency&gt;\r\n    &lt;groupId&gt;mysql&lt;\/groupId&gt;\r\n    &lt;artifactId&gt;mysql-connector-java&lt;\/artifactId&gt;\r\n    &lt;version&gt;5.1.46&lt;\/version&gt;\r\n&lt;\/dependency&gt;\r\n<\/pre>\n<h6><strong>9. Java\u4e2d redis \u7684\u64cd\u4f5c\u603b\u7ed3<\/strong><\/h6>\n<ul>\n<li><a href=\"http:\/\/www.runoob.com\/redis\/redis-java.html\">http:\/\/www.runoob.com\/redis\/redis-java.html<\/a><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true \">package com.ixyzero.learn.misc;\r\n\r\nimport redis.clients.jedis.Jedis;\r\n\r\nimport java.util.Iterator;\r\nimport java.util.List;\r\nimport java.util.Set;\r\n\r\n\/**\r\n * Created by ixyzero.com on 2018\/6\/9.\r\n *\/\r\npublic class TestRedis {\r\n    public static void main(String[] args) {\r\n        \/\/\u8fde\u63a5\u672c\u5730\u7684 Redis \u670d\u52a1\r\n        Jedis jedis = new Jedis(\"localhost\");\r\n        System.out.println(\"\u8fde\u63a5\u6210\u529f\");\r\n\r\n        \/\/\u67e5\u770b\u670d\u52a1\u662f\u5426\u8fd0\u884c\r\n        System.out.println(\"\u670d\u52a1\u6b63\u5728\u8fd0\u884c: \" + jedis.ping());\r\n\r\n        \/\/\u8bbe\u7f6e redis \u5b57\u7b26\u4e32\u6570\u636e\r\n        jedis.set(\"aKey\", \"ixyzero.com\");\r\n        \/\/ \u83b7\u53d6\u5b58\u50a8\u7684\u6570\u636e\u5e76\u8f93\u51fa\r\n        System.out.println(\"redis \u5b58\u50a8\u7684\u5b57\u7b26\u4e32\u4e3a: \"+ jedis.get(\"aKey\"));\r\n\r\n        \/\/\u5b58\u50a8\u6570\u636e\u5230\u5217\u8868\u4e2d\r\n        jedis.lpush(\"site-list\", \"ixyzero\");\r\n        jedis.lpush(\"site-list\", \"Google\");\r\n        jedis.lpush(\"site-list\", \"Taobao\");\r\n        \/\/ \u83b7\u53d6\u5b58\u50a8\u7684\u6570\u636e\u5e76\u8f93\u51fa\r\n        List&lt;String&gt; list = jedis.lrange(\"site-list\", 0 ,2);\r\n        for(int i=0; i&lt;list.size(); i++) {\r\n            System.out.println(\"\u5217\u8868\u9879\u4e3a: \" + list.get(i));\r\n        }\r\n\r\n        \/\/ \u83b7\u53d6\u6570\u636e\u5e76\u8f93\u51fa\r\n        Set&lt;String&gt; keys = jedis.keys(\"*\");\r\n        Iterator&lt;String&gt; it = keys.iterator() ;\r\n        while(it.hasNext()){\r\n            String key = it.next();\r\n            System.out.print(key + \"\\t\");\r\n            System.out.println(jedis.type(key));\r\n            if (jedis.type(key).equals(\"string\")) {\r\n                System.out.println(jedis.get(key));\r\n            } else if ( jedis.type(key).equals(\"list\") ) {\r\n                System.out.println(jedis.lrange(key, 0, -1));\r\n            }\r\n        }\r\n    }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<h5 id=\"id-\u6a21\u677f-\u53c2\u8003\u94fe\u63a5\uff1a\">\u53c2\u8003\u94fe\u63a5\uff1a<\/h5>\n<ul>\n<li>\u5982\u4e0a<\/li>\n<\/ul>\n<p>=END=<\/p>\n","protected":false},"excerpt":{"rendered":"<p>=Start= \u7f18\u7531\uff1a \u5728\u5b66\u4e60Java\u7684\u8fc7\u7a0b\u4e2d\u4e0d\u65ad\u7528\u6587\u7ae0\u8fdb\u884c\u6574\u7406\u603b\u7ed3\uff08\u5e38\u7528\u529f\u80fd\u7684Java\u5b9e\u73b0\uff09\uff0c\u4e89\u53d6\u65e9\u65e5\u80fd\u8f83\u4e3a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,7],"tags":[930,61,561],"class_list":["post-3978","post","type-post","status-publish","format-standard","hentry","category-knowledgebase-2","category-programing","tag-code","tag-java","tag-snippet"],"views":8024,"_links":{"self":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/comments?post=3978"}],"version-history":[{"count":1,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3978\/revisions"}],"predecessor-version":[{"id":3979,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3978\/revisions\/3979"}],"wp:attachment":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/media?parent=3978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/categories?post=3978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/tags?post=3978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}