{"id":942,"date":"2018-09-17T18:40:44","date_gmt":"2018-09-17T09:40:44","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=942"},"modified":"2018-12-23T01:53:04","modified_gmt":"2018-12-22T16:53:04","slug":"filesearch","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/vi\/blog\/java\/tim-kiem-tap-tin","title":{"rendered":"C\u00e1c t\u1ec7p t\u00ecm ki\u1ebfm \u0111\u1ec7 quy Java"},"content":{"rendered":"<h2 class=\"common_title\"><a name=\"0\"><strong>Java<\/strong> <strong>danh m\u1ee5c<\/strong>t\u1eeb<strong>\u0111\u1ec7 quy<\/strong>t\u00ecm ki\u1ebfm t\u1eadp tin trong<\/a><\/h2>\n<p>\n<strong>Java<\/strong> \u1ede \u0111\u00e2y ch\u00fang t\u00f4i gi\u1edbi thi\u1ec7u m\u1ed9t ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu t\u00ecm ki\u1ebfm \u0111\u1ec7 quy c\u00e1c t\u1ec7p trong m\u1ed9t th\u01b0 m\u1ee5c \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh, bao g\u1ed3m c\u00e1c th\u01b0 m\u1ee5c con v\u00e0 nh\u1eadn \u0111\u01b0\u1ee3c danh s\u00e1ch c\u00e1c t\u1ec7p ph\u00f9 h\u1ee3p v\u1edbi \u0111i\u1ec1u ki\u1ec7n t\u00ecm ki\u1ebfm.<br \/>\nCh\u00fang th\u1ef1c hi\u1ec7n qu\u00e1 tr\u00ecnh x\u1eed l\u00fd t\u01b0\u01a1ng t\u1ef1 nh\u01b0 l\u1ec7nh UNIX ls -R v\u00e0 l\u1ec7nh Windows dir \/s.<br \/>\nB\u1ea1n c\u0169ng c\u00f3 th\u1ec3 ch\u1ec9 \u0111\u1ecbnh * l\u00e0m k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n trong t\u00ean t\u1ec7p c\u1ea7n t\u00ecm ki\u1ebfm ho\u1eb7c s\u1eed d\u1ee5ng bi\u1ec3u th\u1ee9c th\u00f4ng th\u01b0\u1eddng \u0111\u1ec3 t\u00ecm ki\u1ebfm.<\/p>\n<p>Nh\u01b0 m\u1ed9t v\u00ed d\u1ee5 v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng, trong tr\u01b0\u1eddng h\u1ee3p sau, danh s\u00e1ch t\u1ec7p th\u01b0 m\u1ee5c \u0111\u01b0\u1ee3c t\u00ecm ki\u1ebfm \u0111\u1ec7 quy bao g\u1ed3m c\u00e1c th\u01b0 m\u1ee5c con \u0111\u1ec3 l\u1ea5y danh s\u00e1ch c\u00e1c t\u1ec7p c\u00f3 ph\u1ea7n m\u1edf r\u1ed9ng java.\n<\/p>\n<div class=\"point\">\nT\u00ecm ki\u1ebfm FileSearch = FileSearch m\u1edbi();<br \/>\nFile[] files = search.listFiles(\u201cC:\/filelist\/\u201d, \u201c*.java\u201d);\n<\/div>\n<p><script type=\"text\/javascript\" src=\"https:\/\/chat-messenger.com\/js\/common.js?dd12sssas2223\" charset=\"UTF-8\"><\/script><br \/>\n<script type=\"text\/javascript\"> writePR(); <\/script><\/p>\n<h2 class=\"common_title\"><a name=\"1\">ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu<\/a><\/h2>\n<p><textarea readonly=\"readonly\" style=\"font-size: 13px; height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">import java.io.File;<br \/>\nimport java.text.SimpleDateFormat;<br \/>\nimport java.util.Date;<br \/>\nimport java.util.TreeSet;<\/p>\n<p>\/**<br \/>\n *<br \/>\n *\/<br \/>\nl\u1edbp c\u00f4ng khai T\u00ecm ki\u1ebfm t\u1ec7p {<\/p>\n<p>    chung k\u1ebft t\u0129nh int TYPE_FILE_OR_DIR = 1;<br \/>\n    chung k\u1ebft t\u0129nh int TYPE_FILE = 2;<br \/>\n    c\u00f4ng khai t\u0129nh cu\u1ed1i c\u00f9ng TYPE_DIR = 3;<\/p>\n<p>    \/**<br \/>\n     * T\u1eeb th\u01b0 m\u1ee5c \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh [directoryPath],<br \/>\n     * T\u00ecm ki\u1ebfm file [fileName] c\u1ea7n t\u00ecm \u0111\u1ec7 quy v\u00e0 t\u00ecm file t\u01b0\u01a1ng \u1ee9ng.<br \/>\n     * Tr\u1ea3 v\u1ec1 danh s\u00e1ch c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng t\u1eadp tin.<br \/>\n     *<br \/>\n     * v\u00ed d\u1ee5)<br \/>\n     * File[] files =listFiles(\u201cC:\/filelist\/\u201d, \u201c*.java\u201d);<br \/>\n     * V\u00ed d\u1ee5 tr\u00ean t\u00ecm ki\u1ebfm danh s\u00e1ch t\u1eadp tin th\u01b0 m\u1ee5c m\u1ed9t c\u00e1ch \u0111\u1ec7 quy v\u00e0<br \/>\n     * Nh\u1eadn danh s\u00e1ch c\u00e1c t\u1ec7p c\u00f3 ph\u1ea7n m\u1edf r\u1ed9ng java.<br \/>\n     *<br \/>\n     * @param folderPath \u0110\u01b0\u1eddng d\u1eabn \u0111\u1ea1i di\u1ec7n cho th\u01b0 m\u1ee5c c\u1ea7n t\u00ecm ki\u1ebfm<br \/>\n     * @param fileName T\u00ean t\u1ec7p c\u1ea7n t\u00ecm ki\u1ebfm<br \/>\n     * B\u1ea1n c\u00f3 th\u1ec3 ch\u1ec9 \u0111\u1ecbnh * l\u00e0m k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n trong t\u00ean t\u1ec7p.<br \/>\n     * @return \u0110\u1ed1i t\u01b0\u1ee3ng t\u1ec7p ph\u00f9 h\u1ee3p v\u1edbi t\u00ecm ki\u1ebfm<br \/>\n     *\/<br \/>\n    public File[] listFiles(String folderPath, String fileName) {<br \/>\n        \/\/ Chuy\u1ec3n * d\u01b0\u1edbi d\u1ea1ng k\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n th\u00e0nh bi\u1ec3u th\u1ee9c ch\u00ednh quy<br \/>\n        if (t\u00ean t\u1ec7p != null) {<br \/>\n            fileName = fileName.replace(\u201c.\u201d, \u201c\\\\.\u201d);<br \/>\n            fileName = fileName.replace(\u201c*\u201d, \u201c.*\u201d);<br \/>\n        }<br \/>\n        tr\u1ea3 v\u1ec1 listFiles(directoryPath, fileName, TYPE_FILE, true, 0);<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * T\u1eeb th\u01b0 m\u1ee5c \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh [directoryPath], \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh d\u01b0\u1edbi d\u1ea1ng bi\u1ec3u th\u1ee9c ch\u00ednh quy<br \/>\n     * T\u00ecm ki\u1ebfm \u0111\u1ec7 quy t\u1ec7p c\u1ea7n t\u00ecm ki\u1ebfm [fileNamePattern],<br \/>\n     * Tr\u1ea3 v\u1ec1 danh s\u00e1ch c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng t\u1ec7p c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng.<br \/>\n     *<br \/>\n     * B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n t\u00ecm ki\u1ebfm \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh xem ng\u00e0y c\u1eadp nh\u1eadt c\u1ee7a t\u1ec7p c\u00f3 v\u01b0\u1ee3t qu\u00e1 s\u1ed1 ng\u00e0y \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh hay kh\u00f4ng.<br \/>\n     * C\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh.<br \/>\n     *<br \/>\n     * v\u00ed d\u1ee5)<br \/>\n     * T\u1eadp tin[] t\u1eadp tin =<br \/>\n     * listFiles(\u201cC:\/filelist\/\u201d, \u201c*.java\u201d,TYPE_FILE, true, 2);<br \/>\n     * Trong v\u00ed d\u1ee5 tr\u00ean, danh s\u00e1ch t\u1eadp tin th\u01b0 m\u1ee5c \u0111\u01b0\u1ee3c t\u00ecm ki\u1ebfm \u0111\u1ec7 quy v\u00e0 c\u1eadp nh\u1eadt c\u00e1ch \u0111\u00e2y ch\u01b0a \u0111\u1ea7y 7 ng\u00e0y.<br \/>\n     * L\u1ea5y danh s\u00e1ch c\u00e1c t\u1eadp tin c\u00f3 ph\u1ea7n m\u1edf r\u1ed9ng java.<br \/>\n     *<br \/>\n     * @param folderPath \u0110\u01b0\u1eddng d\u1eabn \u0111\u1ea1i di\u1ec7n cho th\u01b0 m\u1ee5c c\u1ea7n t\u00ecm ki\u1ebfm<br \/>\n     * @param fileNamePattern T\u00ean t\u1ec7p \u0111\u1ec3 t\u00ecm ki\u1ebfm [bi\u1ec3u th\u1ee9c ch\u00ednh quy]<br \/>\n     * @param type \u0110\u1ed1i t\u01b0\u1ee3ng t\u1ec7p t\u01b0\u01a1ng \u1ee9ng \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh b\u1edfi [type].<br \/>\n     * C\u00f3 th\u1ec3 ch\u1ec9 \u0111\u1ecbnh nh\u1eefng \u0111i\u1ec1u sau \u0111\u00e2y<br \/>\n     * TYPE_FILE_OR_DIR\u30fb\u30fb\u30fbT\u1ec7p v\u00e0 th\u01b0 m\u1ee5c<br \/>\n     * TYPE_FILE\u30fb\u30fb\u30fbT\u1ec7p<br \/>\n     * TYPE_DIR\u30fb\u30fb\u30fbTh\u01b0 m\u1ee5c<br \/>\n     * @param isRecursive true \u0111\u1ec3 t\u00ecm ki\u1ebfm \u0111\u1ec7 quy<br \/>\n     * @param Period T\u00ecm ki\u1ebfm c\u00e1c t\u1ec7p c\u00f3 ng\u00e0y c\u1eadp nh\u1eadt \u0111\u00e3 v\u01b0\u1ee3t qu\u00e1 s\u1ed1 ng\u00e0y \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh.<br \/>\n     * C\u00f3 th\u1ec3 thi\u1ebft l\u1eadp hay kh\u00f4ng<br \/>\n     * Kh\u00f4ng \u00e1p d\u1ee5ng n\u1ebfu 0<br \/>\n     * N\u1ebfu 1 ho\u1eb7c nhi\u1ec1u h\u01a1n, t\u00ecm ki\u1ebfm t\u1ec7p sau s\u1ed1 ng\u00e0y \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh<br \/>\n     * N\u1ebfu nh\u1ecf h\u01a1n -1, t\u00ecm ki\u1ebfm c\u00e1c t\u1ec7p c\u0169 h\u01a1n s\u1ed1 ng\u00e0y \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh<br \/>\n     * @return \u0110\u1ed1i t\u01b0\u1ee3ng t\u1ec7p ph\u00f9 h\u1ee3p v\u1edbi t\u00ecm ki\u1ebfm<br \/>\n     *\/<br \/>\n    T\u1ec7p c\u00f4ng khai[] listFiles(Chu\u1ed7i th\u01b0 m\u1ee5c\u0110\u01b0\u1eddng d\u1eabn,<br \/>\n            Chu\u1ed7i fileNamePattern, ki\u1ec3u int,<br \/>\n            boolean isRecursive, int Period) {<\/p>\n<p>        T\u1ec7p dir = T\u1ec7p m\u1edbi (th\u01b0 m\u1ee5cPath);<br \/>\n        if (!dir.isDirectory()) {<br \/>\n            n\u00e9m IllegalArgumentException m\u1edbi<br \/>\n            (\u201c\u0110\u01b0\u1eddng d\u1eabn \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh trong \u0111\u1ed1i s\u1ed1[\u201d + dir.getAbsolutePath() +<br \/>\n                    \u201c] kh\u00f4ng ph\u1ea3i l\u00e0 m\u1ed9t th\u01b0 m\u1ee5c.\u201d);<br \/>\n        }<br \/>\n        T\u1ec7p [] t\u1ec7p = dir.listFiles();<br \/>\n        \/\/ \u0111\u1ea7u ra c\u1ee7a n\u00f3<br \/>\n        for (int i = 0; i &lt; files.length; i++) {<br \/>\n            T\u1ec7p t\u1ec7p = t\u1ec7p [i];<br \/>\n            addFile(type, fileNamePattern, set, file, Period);<br \/>\n            \/\/ T\u00ecm ki\u1ebfm \u0111\u1ec7 quy v\u00e0 th\u00eam v\u00e0o danh s\u00e1ch \u0111\u1ec7 quy n\u1ebfu \u0111\u00f3 l\u00e0 m\u1ed9t th\u01b0 m\u1ee5c<br \/>\n            if (isRecursive &amp;&amp; file.isDirectory()) {<br \/>\n                listFiles(file.getAbsolutePath(), fileNamePattern,<br \/>\n                            lo\u1ea1i, isRecursive, d\u1ea5u ch\u1ea5m);<br \/>\n            }<br \/>\n        }<br \/>\n        return (File[]) set.toArray(new File[set.size()]);<br \/>\n    }<\/p>\n<p>    void void addFile(int type, String match, TreeSet set,<br \/>\n            T\u1ec7p t\u1ec7p, d\u1ea5u ch\u1ea5m int) {<br \/>\n        c\u00f4ng t\u1eafc (lo\u1ea1i) {<br \/>\n        tr\u01b0\u1eddng h\u1ee3p TYPE_FILE:<br \/>\n            n\u1ebfu (!file.isFile()) {<br \/>\n                tr\u1edf l\u1ea1i;<br \/>\n            }<br \/>\n            ph\u00e1 v\u1ee1;<br \/>\n        tr\u01b0\u1eddng h\u1ee3p TYPE_DIR:<br \/>\n            if (!file.isDirectory()) {<br \/>\n                tr\u1edf l\u1ea1i;<br \/>\n            }<br \/>\n            ph\u00e1 v\u1ee1;<br \/>\n        }<br \/>\n        if (match != null &amp;&amp; !file.getName().matches(match)) {<br \/>\n            tr\u1edf l\u1ea1i;<br \/>\n        }<br \/>\n        \/\/ N\u1ebfu c\u00f3 th\u00f4ng s\u1ed1 k\u1ef9 thu\u1eadt xem s\u1ed1 ng\u00e0y \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh \u0111\u00e3 tr\u00f4i qua ch\u01b0a<br \/>\n        n\u1ebfu (d\u1ea5u ch\u1ea5m != 0) {<br \/>\n            \/\/ Ng\u00e0y c\u1eadp nh\u1eadt t\u1ec7p<br \/>\n            Ng\u00e0y LastModifiedDate = Ng\u00e0y m\u1edbi(file.lastModified());<br \/>\n            Chu\u1ed7i LastModifiedDateStr = new SimpleDateFormat(\u201cyyyyMMdd\u201d)<br \/>\n                    .format(lastModifiedDate);<\/p>\n<p>            \/\/ Ng\u00e0y \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh (t\u00ednh b\u1eb1ng mili gi\u00e2y m\u1ed7i ng\u00e0y)<br \/>\n            th\u1eddi gian m\u1ed9t ng\u00e0y d\u00e0i = 24L * 60L * 60L * 1000L;<br \/>\n            th\u1eddi gian d\u00e0iTime = oneDayTime * Math.abs(th\u1eddi gian);<br \/>\n            Ng\u00e0y \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnhNg\u00e0y =<br \/>\n                Ng\u00e0y m\u1edbi (System.currentTimeMillis() \u2013 PeriodTime);<br \/>\n            Chu\u1ed7i \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnhDateStr = new SimpleDateFormat(\u201cyyyyMMdd\u201d)<br \/>\n                    .format(ng\u00e0y ch\u1ec9 \u0111\u1ecbnh);<br \/>\n            n\u1ebfu (d\u1ea5u ch\u1ea5m &gt; 0) {<br \/>\n                if (lastModifiedDateStr.compareTo(designatedDateStr) &lt; 0) {<br \/>\n                    tr\u1edf l\u1ea1i;<br \/>\n                }<br \/>\n            } kh\u00e1c {<br \/>\n                if (lastModifiedDateStr.compareTo(designatedDateStr) &gt; 0) {<br \/>\n                    tr\u1edf l\u1ea1i;<br \/>\n                }<br \/>\n            }<br \/>\n        }<br \/>\n        \/\/ L\u01b0u v\u00e0o danh s\u00e1ch n\u1ebfu \u0111\u1ee7 \u0111i\u1ec1u ki\u1ec7n<br \/>\n        set.add(t\u1eadp tin);<\/p>\n<p>    }<\/p>\n<p>    \/** S\u1eed d\u1ee5ng TreeSet \u0111\u1ec3 s\u1eafp x\u1ebfp theo th\u1ee9 t\u1ef1 abc. *\/<br \/>\n    t\u1eadp TreeSet ri\u00eang = TreeSet m\u1edbi();<\/p>\n<p>    \/**<br \/>\n     * N\u1ebfu b\u1ea1n mu\u1ed1n ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng phi\u00ean b\u1ea3n sau khi t\u1ea1o n\u00f3, h\u00e3y s\u1eed d\u1ee5ng ph\u01b0\u01a1ng ph\u00e1p n\u00e0y.<br \/>\n     * Cu\u1ed9c g\u1ecdi ph\u1ea3i \u0111\u01b0\u1ee3c x\u00f3a.<br \/>\n     * v\u00ed d\u1ee5)<br \/>\n     * T\u00ecm ki\u1ebfm FileSearch = FileSearch m\u1edbi();<br \/>\n     * T\u1ec7p[] f1 = search.listFiles(C:\/filelist\/\u201d, \u201c*.java\u201d);<br \/>\n     * t\u00ecm ki\u1ebfm.clear();<br \/>\n     * File[] f2 = search.listFiles(\u201cC:\/filelist\/\u201d, \u201c*.jsp\u201d);<br \/>\n     *\/<br \/>\n    kho\u1ea3ng tr\u1ed1ng c\u00f4ng khai r\u00f5 r\u00e0ng () {<br \/>\n    \tset.clear();<br \/>\n    }<br \/>\n}<br \/>\n<\/textarea><\/p>\n\n<h2 class=\"common_title\"><a name=\"2\">K\u1ebft qu\u1ea3 th\u1ef1c hi\u1ec7n<\/a><\/h2>\n<p>\n\u0110\u1ec3 ki\u1ec3m tra ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu, t\u00f4i \u0111\u00e3 t\u1ea1o m\u1ed9t th\u01b0 m\u1ee5c danh s\u00e1ch t\u1ec7p v\u00e0 chu\u1ea9n b\u1ecb c\u00e1c t\u1ec7p sau.<br \/>\n<br \/>\nT\u00ean t\u1eadp tin v\u00e0 ng\u00e0y c\u1eadp nh\u1eadt \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb.<\/p>\n<p>*Xin l\u01b0u \u00fd r\u1eb1ng ng\u00e0y hi\u1ec7n t\u1ea1i l\u00e0<strong>2007\/08\/18<\/strong>Gi\u1ea3 s\u1eed nh\u01b0 v\u1eady.\n<\/p>\n<pre class=\"console\">C:\\filelist \u2502 aaa.java 2007\/08\/18 \u2502 bbb.java 2007\/08\/18 \u2514\u2500dir ccc.java 2007\/07\/17 ddd.java 2007\/08\/18 eee.jpg 2007\/08\/16\r\n<\/pre>\n<p>\u25c6V\u00ed d\u1ee5 th\u1ef1c thi<br \/>\n<textarea readonly=\"readonly\" style=\"font-size: 13px; height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">  public static void main(String[] args) {<br \/>\n      String path = &#8220;C:\\\\filelist&#8221;;<br \/>\n      FileSearch search = new FileSearch();<\/p>\n<p>      System.out.println(\u201c\\n\u25cfL\u1ea5y t\u1ea5t c\u1ea3 c\u00e1c t\u1eadp tin\u201d);<br \/>\n      File[] files = search.listFiles(path, null);<br \/>\n      printFileList(file);<br \/>\n      t\u00ecm ki\u1ebfm.clear();<\/p>\n<p>      System.out.println(\u201c\\n\u25cfNh\u1eadn file c\u00f3 \u0111u\u00f4i java\u201d);<br \/>\n      files = search.listFiles(path, \u201c*.java\u201d);<br \/>\n      printFileList(file);<br \/>\n      t\u00ecm ki\u1ebfm.clear();<\/p>\n<p>      System.out.println(\u201c\\n\u25cfL\u1ea5y t\u1ea5t c\u1ea3 c\u00e1c t\u1eadp tin v\u00e0 th\u01b0 m\u1ee5c\u201d);<br \/>\n      t\u1eadp tin = search.listFiles(path, null,search.TYPE_FILE_OR_DIR, true, 0);<br \/>\n      printFileList(file);<br \/>\n      t\u00ecm ki\u1ebfm.clear();<\/p>\n<p>      System.out.println(\u201c\\n\u25cfNh\u1eadn c\u00e1c t\u1eadp tin \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt trong v\u00f2ng 2 ng\u00e0y k\u1ec3 t\u1eeb ng\u00e0y hi\u1ec7n t\u1ea1i\u201d);<br \/>\n      files = search.listFiles(path, null,search.TYPE_FILE, true, 2);<br \/>\n      printFileList(file);<br \/>\n      t\u00ecm ki\u1ebfm.clear();<\/p>\n<p>      System.out.println(\u201c\\n\u25cfL\u1ea5y c\u00e1c t\u1eadp tin c\u0169 h\u01a1n 30 ng\u00e0y k\u1ec3 t\u1eeb ng\u00e0y hi\u1ec7n t\u1ea1i\u201d);<br \/>\n      files = search.listFiles(path, null,search.TYPE_FILE, true, -30);<br \/>\n      printFileList(file);<br \/>\n      t\u00ecm ki\u1ebfm.clear();<br \/>\n  }<\/p>\n<p>  ri\u00eang t\u01b0 t\u0129nh void printFileList(File[] files) {<br \/>\n      for (int i = 0; i &lt; files.length; i++) {<br \/>\n          T\u1ec7p t\u1ec7p = t\u1ec7p [i];<br \/>\n          System.out.println((i + 1) + \u201c: \u201d + file);<br \/>\n      }<br \/>\n  }<br \/>\n<\/textarea><br \/>\n<br \/>\n\u25c6K\u1ebft qu\u1ea3 \u0111\u1ea7u ra<\/p>\n<pre class=\"console\">\u25cfNh\u1eadn t\u1ea5t c\u1ea3 c\u00e1c t\u1ec7p 1: C:\\filelist\\aaa.java 2: C:\\filelist\\bbb.java 3: C:\\filelist\\dir\\ccc.java 4: C:\\filelist\\dir\\ddd.java 5: C:\\filelist\\dir\\eee.jpg \u25cfNh\u1eadn t\u1ec7p c\u00f3 ph\u1ea7n m\u1edf r\u1ed9ng java 1: C:\\filelist\\aaa.java 2: C:\\filelist\\bbb.java 3: C:\\filelist\\dir\\ccc .java 4: C:\\filelist\\dir\\ddd.java \u25cfL\u1ea5y t\u1ea5t c\u1ea3 c\u00e1c t\u1eadp tin v\u00e0 th\u01b0 m\u1ee5c 1: C:\\filelist\\aaa.java 2: C:\\filelist\\bbb.java 3: C:\\filelist\\dir 4: C:\\filelist \\dir\\ccc.java 5: C:\\filelist\\dir\\ddd.java 6: C:\\filelist\\dir\\eee.jpg \u25cfC\u00e1c t\u1ec7p \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt trong v\u00f2ng 2 ng\u00e0y k\u1ec3 t\u1eeb ng\u00e0y hi\u1ec7n t\u1ea1i Nh\u1eadn 1: C:\\filelist\\aaa. java 2: C:\\filelist\\bbb.java 3: C:\\filelist\\dir\\ddd.java 4: C:\\filelist\\dir\\eee.jpg \u25cfNg\u00e0y hi\u1ec7n t\u1ea1i Nh\u1eadn c\u00e1c t\u1ec7p c\u0169 h\u01a1n 30 ng\u00e0y k\u1ec3 t\u1eeb 1: C: \\filelist\\dir\\ccc.java\r\n<\/pre>","protected":false},"excerpt":{"rendered":"<p>Java T\u00ecm ki\u1ebfm \u0111\u1ec7 quy c\u00e1c t\u1ec7p t\u1eeb m\u1ed9t th\u01b0 m\u1ee5c Trong Java, t\u1eeb m\u1ed9t th\u01b0 m\u1ee5c \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh, bao g\u1ed3m c\u00e1c th\u01b0 m\u1ee5c con [\u2026]<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":""},"categories":[19],"tags":[],"_links":{"self":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/942"}],"collection":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/comments?post=942"}],"version-history":[{"count":4,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/942\/revisions"}],"predecessor-version":[{"id":1881,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/posts\/942\/revisions\/1881"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/media?parent=942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/categories?post=942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/vi\/wp-json\/wp\/v2\/tags?post=942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}