{"id":625,"date":"2015-03-21T09:27:35","date_gmt":"2015-03-21T18:27:35","guid":{"rendered":"http:\/\/blog.box.kr\/?p=625"},"modified":"2015-03-21T09:27:35","modified_gmt":"2015-03-21T18:27:35","slug":"%ed%8e%8cjava-%ed%99%94%ec%9d%bc-%ea%b0%90%ec%8b%9c-%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%a8-%eb%a7%8c%eb%93%a4%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=625","title":{"rendered":"[\ud38c]JAVA \ud654\uc77c \uac10\uc2dc \ud504\ub85c\uadf8\ub7a8 \ub9cc\ub4e4\uae30."},"content":{"rendered":"<p>\uc77c\uc744 \ud558\ub2e4\ubcf4\uba74 \ud2b9\uc815 \ub514\ub809\ud1a0\ub9ac\ub97c \uac10\uc2dc\ud558\uc5ec \ud2b9\uc815 \uc870\uac74\uc774 \ub418\uba74<\/p>\n<p>\uc874\uc7ac \ud558\ub294 \ud654\uc77c\uc744 \ucc98\ub9ac \ud558\ub294 \ud504\ub85c\uadf8\ub7a8\uc774 \ud544\uc694 \ud560\ub54c\uac00 \uc788\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\ubcf4\ud1b5\uc740 C\/C++\ub85c \uc791\uc5c5 \ud558\ub294\ub370 \uc5b4\ucc0c\ub2e4 \ubcf4\ub2c8 \ubcf4\uac8c\ub41c \ube14\ub85c\uadf8\uc5d0\uc11c \uc5b4\ub5a4 \ubd84\uc774 JAVA\ub85c \ub9cc\ub4e4\uc5b4 \ub193\uc740\uac8c \uc788\uc5b4\uc11c<\/p>\n<p>\uac08\ubb34\ub9ac \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/okky.kr\/article\/272376\">http:\/\/okky.kr\/article\/272376<\/a><\/p>\n<p>&nbsp;<\/p>\n<div class=\"panel panel-default clearfix\">\n<div class=\"content-container clearfix\">\n<div class=\"panel-body content-body pull-left\" style=\"text-align: justify;\">\n<article class=\"content-text\">Main.java\n<blockquote>\n<pre class=\"line-numbers language-java\"><code class=\" language-java\">\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">Main<\/span> <span class=\"token punctuation\">{<\/span>\n\t<span class=\"token comment\" spellcheck=\"true\">\/\/ file moved original\n<\/span>\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">final<\/span> String ORIGINAL_PATH <span class=\"token operator\">=<\/span> <span class=\"token string\">\"D:\\DEV\\tempFile\\javaTemp1\"<\/span><span class=\"token punctuation\">;<\/span>\n\t<span class=\"token comment\" spellcheck=\"true\">\/\/ file moved backup\n<\/span>\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">final<\/span> String COPIED_PATH <span class=\"token operator\">=<\/span> <span class=\"token string\">\"D:\\DEV\\tempFile\\javaTemp2\"<\/span><span class=\"token punctuation\">;<\/span>\n\t<span class=\"token comment\" spellcheck=\"true\">\/\/ watching folder pattern\n<\/span>\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">final<\/span> String PATTERN_MATCH <span class=\"token operator\">=<\/span> <span class=\"token string\">\"([0-9]+)-([0-9]+)-([0-9]+)-(220)-(17420|6130)\"<\/span><span class=\"token punctuation\">;<\/span>\n\t<span class=\"token comment\" spellcheck=\"true\">\/\/ file recovery day\n<\/span>\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">final<\/span> <span class=\"token keyword\">int<\/span> INTERVAL <span class=\"token operator\">=<\/span><span class=\"token number\"> 7<\/span><span class=\"token punctuation\">;<\/span>\n\t<span class=\"token comment\" spellcheck=\"true\">\/\/ prohibited hour ( 0~24 Calendar.HOUR_OF_DAY )\n<\/span>\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">final<\/span> <span class=\"token keyword\">int<\/span> PROHIBITED_TIME_START <span class=\"token operator\">=<\/span><span class=\"token number\"> 2<\/span><span class=\"token punctuation\">;<\/span>\n\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">final<\/span> <span class=\"token keyword\">int<\/span> PROHIBITED_TIME_END <span class=\"token operator\">=<\/span><span class=\"token number\"> 7<\/span><span class=\"token punctuation\">;<\/span>\n\n\n\n\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">main<span class=\"token punctuation\">(<\/span><\/span>String<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> args<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\n\t\tWatchAgent w <span class=\"token operator\">=<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">WatchAgent<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token keyword\">try<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t<span class=\"token comment\" spellcheck=\"true\">\/\/ watch agent\n<\/span>\t\t\tw<span class=\"token punctuation\">.<\/span><span class=\"token function\">start<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\n\t\t\t<span class=\"token comment\" spellcheck=\"true\">\/\/ file scheduler\n<\/span>\n\t\t<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">catch<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token class-name\">Exception<\/span> e<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\te<span class=\"token punctuation\">.<\/span><span class=\"token function\">printStackTrace<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token punctuation\">}<\/span>\n\n\t<span class=\"token punctuation\">}<\/span>\n\n<span class=\"token punctuation\">}<\/span>\n\n\n\n<\/code><\/pre>\n<\/blockquote>\n<p>WatchAgent.java<\/p>\n<blockquote>\n<pre class=\"line-numbers language-java\"><code class=\" language-java\"><span class=\"token keyword\">import<\/span> <span class=\"token keyword\">static<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>StandardWatchEventKinds<span class=\"token punctuation\">.<\/span>ENTRY_CREATE<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> <span class=\"token keyword\">static<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>StandardWatchEventKinds<span class=\"token punctuation\">.<\/span>ENTRY_DELETE<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> <span class=\"token keyword\">static<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>StandardWatchEventKinds<span class=\"token punctuation\">.<\/span>ENTRY_MODIFY<span class=\"token punctuation\">;<\/span>\n\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>io<span class=\"token punctuation\">.<\/span>File<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>io<span class=\"token punctuation\">.<\/span>IOException<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>ClosedWatchServiceException<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>FileSystem<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>FileSystems<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>FileVisitResult<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>Files<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>LinkOption<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>Path<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>SimpleFileVisitor<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>StandardWatchEventKinds<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>WatchEvent<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>WatchKey<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>WatchService<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>attribute<span class=\"token punctuation\">.<\/span>BasicFileAttributes<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>sql<span class=\"token punctuation\">.<\/span>SQLException<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>util<span class=\"token punctuation\">.<\/span>Calendar<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>util<span class=\"token punctuation\">.<\/span>Date<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>util<span class=\"token punctuation\">.<\/span>Map<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>util<span class=\"token punctuation\">.<\/span>concurrent<span class=\"token punctuation\">.<\/span>ConcurrentHashMap<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>util<span class=\"token punctuation\">.<\/span>concurrent<span class=\"token punctuation\">.<\/span>ExecutorService<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>util<span class=\"token punctuation\">.<\/span>concurrent<span class=\"token punctuation\">.<\/span>Executors<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>util<span class=\"token punctuation\">.<\/span>concurrent<span class=\"token punctuation\">.<\/span>TimeUnit<span class=\"token punctuation\">;<\/span>\n\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">WatchAgent<\/span> <span class=\"token punctuation\">{<\/span>\n\n\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">start<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">throws<\/span> Exception <span class=\"token punctuation\">{<\/span>\n\t\tExecutorService service <span class=\"token operator\">=<\/span> Executors<span class=\"token punctuation\">.<\/span><span class=\"token function\">newCachedThreadPool<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token keyword\">final<\/span> FileSystem fs <span class=\"token operator\">=<\/span> FileSystems<span class=\"token punctuation\">.<\/span><span class=\"token function\">getDefault<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token keyword\">final<\/span> WatchService ws <span class=\"token operator\">=<\/span> fs<span class=\"token punctuation\">.<\/span><span class=\"token function\">newWatchService<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token keyword\">final<\/span> Map<span class=\"token operator\">&lt;<\/span>WatchKey<span class=\"token punctuation\">,<\/span> Path<span class=\"token operator\">&gt;<\/span> keys <span class=\"token operator\">=<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">ConcurrentHashMap<\/span><span class=\"token operator\">&lt;<\/span><span class=\"token operator\">&gt;<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\n\t\t<span class=\"token function\">reg<span class=\"token punctuation\">(<\/span><\/span>fs<span class=\"token punctuation\">.<\/span><span class=\"token function\">getPath<span class=\"token punctuation\">(<\/span><\/span>Main<span class=\"token punctuation\">.<\/span>ORIGINAL_PATH<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> keys<span class=\"token punctuation\">,<\/span> ws<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\n\t\tservice<span class=\"token punctuation\">.<\/span><span class=\"token function\">submit<span class=\"token punctuation\">(<\/span><\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Runnable<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t@Override\n\t\t\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">run<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\n\t\t\t\tSystem<span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"WATCH START\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t<span class=\"token keyword\">while<\/span> <span class=\"token punctuation\">(<\/span>Thread<span class=\"token punctuation\">.<\/span><span class=\"token function\">interrupted<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">==<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\tWatchKey key<span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t<span class=\"token keyword\">try<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\tkey <span class=\"token operator\">=<\/span> ws<span class=\"token punctuation\">.<\/span><span class=\"token function\">poll<span class=\"token punctuation\">(<\/span><\/span>10<span class=\"token punctuation\">,<\/span> TimeUnit<span class=\"token punctuation\">.<\/span>MILLISECONDS<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">catch<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token class-name\">InterruptedException<\/span> <span class=\"token operator\">|<\/span> ClosedWatchServiceException e<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t<span class=\"token keyword\">break<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>key <span class=\"token operator\">!=<\/span> null<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\tPath path <span class=\"token operator\">=<\/span> keys<span class=\"token punctuation\">.<\/span><span class=\"token function\">get<span class=\"token punctuation\">(<\/span><\/span>key<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t<span class=\"token keyword\">for<\/span> <span class=\"token punctuation\">(<\/span>WatchEvent<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">?<\/span><span class=\"token operator\">&gt;<\/span> i <span class=\"token operator\">:<\/span> key<span class=\"token punctuation\">.<\/span><span class=\"token function\">pollEvents<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\tWatchEvent<span class=\"token operator\">&lt;<\/span>Path<span class=\"token operator\">&gt;<\/span> event <span class=\"token operator\">=<\/span> <span class=\"token function\">cast<span class=\"token punctuation\">(<\/span><\/span>i<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\tWatchEvent<span class=\"token punctuation\">.<\/span>Kind<span class=\"token operator\">&lt;<\/span>Path<span class=\"token operator\">&gt;<\/span> kind <span class=\"token operator\">=<\/span> event<span class=\"token punctuation\">.<\/span><span class=\"token function\">kind<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\tPath name <span class=\"token operator\">=<\/span> event<span class=\"token punctuation\">.<\/span><span class=\"token function\">context<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\tPath child <span class=\"token operator\">=<\/span> path<span class=\"token punctuation\">.<\/span><span class=\"token function\">resolve<span class=\"token punctuation\">(<\/span><\/span>name<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\n\t\t\t\t\t\t\tString<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> pathName <span class=\"token operator\">=<\/span> child<span class=\"token punctuation\">.<\/span><span class=\"token function\">getFileName<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">toString<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">split<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"\\\\\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\tString folderName <span class=\"token operator\">=<\/span> pathName<span class=\"token punctuation\">[<\/span>pathName<span class=\"token punctuation\">.<\/span>length <span class=\"token operator\">-<\/span><span class=\"token number\"> 1<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\tSystem<span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<span class=\"token punctuation\">(<\/span><\/span>folderName<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>folderName<span class=\"token punctuation\">.<\/span><span class=\"token function\">matches<span class=\"token punctuation\">(<\/span><\/span>Main<span class=\"token punctuation\">.<\/span>PATTERN_MATCH<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\tCalendar c <span class=\"token operator\">=<\/span> Calendar<span class=\"token punctuation\">.<\/span><span class=\"token function\">getInstance<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\tc<span class=\"token punctuation\">.<\/span><span class=\"token function\">setTime<span class=\"token punctuation\">(<\/span><\/span><span class=\"token keyword\">new<\/span> <span class=\"token class-name\">Date<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\t<span class=\"token keyword\">int<\/span> nowHour <span class=\"token operator\">=<\/span> c<span class=\"token punctuation\">.<\/span><span class=\"token function\">get<span class=\"token punctuation\">(<\/span><\/span>Calendar<span class=\"token punctuation\">.<\/span>HOUR_OF_DAY<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\tSystem<span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">printf<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"%s: %s %s%n\"<\/span><span class=\"token punctuation\">,<\/span> kind<span class=\"token punctuation\">.<\/span><span class=\"token function\">name<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> path<span class=\"token punctuation\">,<\/span> child<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>kind <span class=\"token operator\">==<\/span> StandardWatchEventKinds<span class=\"token punctuation\">.<\/span>ENTRY_CREATE<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>Files<span class=\"token punctuation\">.<\/span><span class=\"token function\">isDirectory<span class=\"token punctuation\">(<\/span><\/span>child<span class=\"token punctuation\">,<\/span> LinkOption<span class=\"token punctuation\">.<\/span>NOFOLLOW_LINKS<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"token keyword\">try<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"token function\">walk<span class=\"token punctuation\">(<\/span><\/span>child<span class=\"token punctuation\">,<\/span> keys<span class=\"token punctuation\">,<\/span> ws<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">catch<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token class-name\">IOException<\/span> e<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t\t\t\te<span class=\"token punctuation\">.<\/span><span class=\"token function\">printStackTrace<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t\t\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>nowHour <span class=\"token operator\">&gt;=<\/span> Main<span class=\"token punctuation\">.<\/span>PROHIBITED_TIME_START <span class=\"token operator\">&amp;&amp;<\/span> nowHour <span class=\"token operator\">&lt;=<\/span> Main<span class=\"token punctuation\">.<\/span>PROHIBITED_TIME_END<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"token comment\" spellcheck=\"true\">\/\/ do not move\n<\/span>\t\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">else<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"token keyword\">try<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t\t\tFile s <span class=\"token operator\">=<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">File<\/span><span class=\"token punctuation\">(<\/span>path<span class=\"token punctuation\">.<\/span><span class=\"token function\">toString<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">+<\/span> File<span class=\"token punctuation\">.<\/span>separator <span class=\"token operator\">+<\/span> folderName<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\t\t\tFile d <span class=\"token operator\">=<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">File<\/span><span class=\"token punctuation\">(<\/span>Main<span class=\"token punctuation\">.<\/span>COPIED_PATH <span class=\"token operator\">+<\/span> File<span class=\"token punctuation\">.<\/span>separator <span class=\"token operator\">+<\/span> folderName<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\t\t\tFileMove<span class=\"token punctuation\">.<\/span><span class=\"token function\">copyFolder<span class=\"token punctuation\">(<\/span><\/span>s<span class=\"token punctuation\">,<\/span> d<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">catch<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token class-name\">IOException<\/span> e<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t\t\te<span class=\"token punctuation\">.<\/span><span class=\"token function\">printStackTrace<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">catch<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token class-name\">SQLException<\/span> e<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t\t\te<span class=\"token punctuation\">.<\/span><span class=\"token function\">printStackTrace<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">else<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t<span class=\"token keyword\">continue<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>key<span class=\"token punctuation\">.<\/span><span class=\"token function\">reset<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">==<\/span> <span class=\"token boolean\">false<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\tSystem<span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">printf<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"%s is invalid %n\"<\/span><span class=\"token punctuation\">,<\/span> key<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\tkeys<span class=\"token punctuation\">.<\/span><span class=\"token function\">remove<span class=\"token punctuation\">(<\/span><\/span>key<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>keys<span class=\"token punctuation\">.<\/span><span class=\"token function\">isEmpty<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\t\t\t\t\t<span class=\"token keyword\">break<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\t\tSystem<span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"END\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t<span class=\"token punctuation\">}<\/span>\n\n\t<span class=\"token keyword\">static<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">walk<span class=\"token punctuation\">(<\/span><\/span>Path root<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">final<\/span> Map<span class=\"token operator\">&lt;<\/span>WatchKey<span class=\"token punctuation\">,<\/span> Path<span class=\"token operator\">&gt;<\/span> keys<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">final<\/span> WatchService ws<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">throws<\/span> IOException <span class=\"token punctuation\">{<\/span>\n\t\tFiles<span class=\"token punctuation\">.<\/span><span class=\"token function\">walkFileTree<span class=\"token punctuation\">(<\/span><\/span>root<span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">SimpleFileVisitor<\/span><span class=\"token operator\">&lt;<\/span>Path<span class=\"token operator\">&gt;<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t@Override\n\t\t\t<span class=\"token keyword\">public<\/span> FileVisitResult <span class=\"token function\">preVisitDirectory<span class=\"token punctuation\">(<\/span><\/span>Path dir<span class=\"token punctuation\">,<\/span> BasicFileAttributes attrs<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">throws<\/span> IOException <span class=\"token punctuation\">{<\/span>\n\t\t\t\t<span class=\"token function\">reg<span class=\"token punctuation\">(<\/span><\/span>dir<span class=\"token punctuation\">,<\/span> keys<span class=\"token punctuation\">,<\/span> ws<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t<span class=\"token keyword\">return<\/span> <span class=\"token keyword\">super<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">preVisitDirectory<span class=\"token punctuation\">(<\/span><\/span>dir<span class=\"token punctuation\">,<\/span> attrs<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t<span class=\"token punctuation\">}<\/span>\n\n\t<span class=\"token keyword\">static<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">reg<span class=\"token punctuation\">(<\/span><\/span>Path dir<span class=\"token punctuation\">,<\/span> Map<span class=\"token operator\">&lt;<\/span>WatchKey<span class=\"token punctuation\">,<\/span> Path<span class=\"token operator\">&gt;<\/span> keys<span class=\"token punctuation\">,<\/span> WatchService ws<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">throws<\/span> IOException <span class=\"token punctuation\">{<\/span>\n\t\tWatchKey key <span class=\"token operator\">=<\/span> dir<span class=\"token punctuation\">.<\/span><span class=\"token function\">register<span class=\"token punctuation\">(<\/span><\/span>ws<span class=\"token punctuation\">,<\/span> ENTRY_CREATE<span class=\"token punctuation\">,<\/span> ENTRY_DELETE<span class=\"token punctuation\">,<\/span> ENTRY_MODIFY<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\tkeys<span class=\"token punctuation\">.<\/span><span class=\"token function\">put<span class=\"token punctuation\">(<\/span><\/span>key<span class=\"token punctuation\">,<\/span> dir<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t<span class=\"token punctuation\">}<\/span>\n\n\t@<span class=\"token function\">SuppressWarnings<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"unchecked\"<\/span><span class=\"token punctuation\">)<\/span>\n\t<span class=\"token keyword\">static<\/span> <span class=\"token operator\">&lt;<\/span>T<span class=\"token operator\">&gt;<\/span> WatchEvent<span class=\"token operator\">&lt;<\/span>T<span class=\"token operator\">&gt;<\/span> <span class=\"token function\">cast<span class=\"token punctuation\">(<\/span><\/span>WatchEvent<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">?<\/span><span class=\"token operator\">&gt;<\/span> event<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t<span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">(<\/span>WatchEvent<span class=\"token operator\">&lt;<\/span>T<span class=\"token operator\">&gt;<\/span><span class=\"token punctuation\">)<\/span> event<span class=\"token punctuation\">;<\/span>\n\t<span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n\n\n\n<\/code><\/pre>\n<\/blockquote>\n<p>JDBCCon.java<\/p>\n<blockquote>\n<pre class=\"line-numbers language-java\"><code class=\" language-java\"><span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>sql<span class=\"token punctuation\">.<\/span>Connection<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>sql<span class=\"token punctuation\">.<\/span>DriverManager<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>sql<span class=\"token punctuation\">.<\/span>PreparedStatement<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>sql<span class=\"token punctuation\">.<\/span>SQLException<span class=\"token punctuation\">;<\/span>\n\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">JDBCCon<\/span> <span class=\"token punctuation\">{<\/span>\n\t<span class=\"token keyword\">public<\/span> Connection conn<span class=\"token punctuation\">;<\/span>\n\t<span class=\"token keyword\">private<\/span> PreparedStatement pstmt<span class=\"token punctuation\">;<\/span>\n\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> JDBCCon db<span class=\"token punctuation\">;<\/span>\n\n\t<span class=\"token keyword\">private<\/span> <span class=\"token function\">JDBCCon<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\tString url <span class=\"token operator\">=<\/span> <span class=\"token string\">\"jdbc:mysql:\/\/localhost:3306\/\"<\/span><span class=\"token punctuation\">;<\/span>\n\t\tString dbName <span class=\"token operator\">=<\/span> <span class=\"token string\">\"drivername\"<\/span><span class=\"token punctuation\">;<\/span>\n\t\tString driver <span class=\"token operator\">=<\/span> <span class=\"token string\">\"com.mysql.jdbc.Driver\"<\/span><span class=\"token punctuation\">;<\/span>\n\t\tString userName <span class=\"token operator\">=<\/span> <span class=\"token string\">\"root\"<\/span><span class=\"token punctuation\">;<\/span>\n\t\tString password <span class=\"token operator\">=<\/span> <span class=\"token string\">\"root\"<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token keyword\">try<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\tClass<span class=\"token punctuation\">.<\/span><span class=\"token function\">forName<span class=\"token punctuation\">(<\/span><\/span>driver<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">newInstance<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t<span class=\"token keyword\">this<\/span><span class=\"token punctuation\">.<\/span>conn <span class=\"token operator\">=<\/span> <span class=\"token punctuation\">(<\/span>Connection<span class=\"token punctuation\">)<\/span> DriverManager<span class=\"token punctuation\">.<\/span><span class=\"token function\">getConnection<span class=\"token punctuation\">(<\/span><\/span>url <span class=\"token operator\">+<\/span> dbName<span class=\"token punctuation\">,<\/span> userName<span class=\"token punctuation\">,<\/span> password<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">catch<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token class-name\">Exception<\/span> sqle<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\tsqle<span class=\"token punctuation\">.<\/span><span class=\"token function\">printStackTrace<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token punctuation\">}<\/span>\n\t<span class=\"token punctuation\">}<\/span>\n\n\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">synchronized<\/span> JDBCCon <span class=\"token function\">getDbCon<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>db <span class=\"token operator\">==<\/span> null<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\tdb <span class=\"token operator\">=<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">JDBCCon<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token punctuation\">}<\/span>\n\t\t<span class=\"token keyword\">return<\/span> db<span class=\"token punctuation\">;<\/span>\n\n\t<span class=\"token punctuation\">}<\/span>\n\n\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">insert<span class=\"token punctuation\">(<\/span><\/span>String<span class=\"token punctuation\">.<\/span><span class=\"token punctuation\">.<\/span><span class=\"token punctuation\">.<\/span> parameter<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">throws<\/span> SQLException <span class=\"token punctuation\">{<\/span>\n\t\tStringBuilder sb <span class=\"token operator\">=<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">StringBuilder<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\tsb<span class=\"token punctuation\">.<\/span><span class=\"token function\">append<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"INSERT INTO test111 \"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\tsb<span class=\"token punctuation\">.<\/span><span class=\"token function\">append<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\" (test, test1, test2 ) \"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\tsb<span class=\"token punctuation\">.<\/span><span class=\"token function\">append<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"VALUES \"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\tsb<span class=\"token punctuation\">.<\/span><span class=\"token function\">append<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"(\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token keyword\">for<\/span> <span class=\"token punctuation\">(<\/span>@<span class=\"token function\">SuppressWarnings<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"unused\"<\/span><span class=\"token punctuation\">)<\/span> String p <span class=\"token operator\">:<\/span> parameter<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\tsb<span class=\"token punctuation\">.<\/span><span class=\"token function\">append<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"?,\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token punctuation\">}<\/span>\n\t\tsb<span class=\"token punctuation\">.<\/span><span class=\"token function\">append<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\")\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\tString query <span class=\"token operator\">=<\/span> sb<span class=\"token punctuation\">.<\/span><span class=\"token function\">toString<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">replaceAll<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\",\\)$\"<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">\")\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\n\t\tpstmt <span class=\"token operator\">=<\/span> db<span class=\"token punctuation\">.<\/span>conn<span class=\"token punctuation\">.<\/span><span class=\"token function\">prepareStatement<span class=\"token punctuation\">(<\/span><\/span>query<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token keyword\">int<\/span> count <span class=\"token operator\">=<\/span><span class=\"token number\"> 1<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token keyword\">for<\/span> <span class=\"token punctuation\">(<\/span>String p <span class=\"token operator\">:<\/span> parameter<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\tpstmt<span class=\"token punctuation\">.<\/span><span class=\"token function\">setString<span class=\"token punctuation\">(<\/span><\/span>count<span class=\"token operator\">++<\/span><span class=\"token punctuation\">,<\/span> p<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token punctuation\">}<\/span>\n\n\t\tpstmt<span class=\"token punctuation\">.<\/span><span class=\"token function\">executeUpdate<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t<span class=\"token punctuation\">}<\/span>\n\n\n<span class=\"token punctuation\">}<\/span>\n\n\n\n<\/code><\/pre>\n<\/blockquote>\n<p>FileMove.java<\/p>\n<div>\n<\/div>\n<div>\n<blockquote>\n<pre class=\"line-numbers language-java\"><code class=\" language-java\"><span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>io<span class=\"token punctuation\">.<\/span>File<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>io<span class=\"token punctuation\">.<\/span>IOException<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>FileSystem<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>FileSystems<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>Files<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>Path<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>nio<span class=\"token punctuation\">.<\/span>file<span class=\"token punctuation\">.<\/span>StandardCopyOption<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">import<\/span> java<span class=\"token punctuation\">.<\/span>sql<span class=\"token punctuation\">.<\/span>SQLException<span class=\"token punctuation\">;<\/span>\n\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">FileMove<\/span> <span class=\"token punctuation\">{<\/span>\n\n\t<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">copyFolder<span class=\"token punctuation\">(<\/span><\/span>File src<span class=\"token punctuation\">,<\/span> File dest<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">throws<\/span> IOException<span class=\"token punctuation\">,<\/span> SQLException <span class=\"token punctuation\">{<\/span>\n\t\tJDBCCon db <span class=\"token operator\">=<\/span> JDBCCon<span class=\"token punctuation\">.<\/span><span class=\"token function\">getDbCon<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\n\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>src<span class=\"token punctuation\">.<\/span><span class=\"token function\">isDirectory<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t<span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token operator\">!<\/span>dest<span class=\"token punctuation\">.<\/span><span class=\"token function\">exists<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\tdest<span class=\"token punctuation\">.<\/span><span class=\"token function\">mkdir<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\tSystem<span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"Directory copied from \"<\/span> <span class=\"token operator\">+<\/span> src <span class=\"token operator\">+<\/span> <span class=\"token string\">\"  to \"<\/span> <span class=\"token operator\">+<\/span> dest<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t\tString files<span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">=<\/span> src<span class=\"token punctuation\">.<\/span><span class=\"token function\">list<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t<span class=\"token keyword\">for<\/span> <span class=\"token punctuation\">(<\/span>String file <span class=\"token operator\">:<\/span> files<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\t\tFile srcFile <span class=\"token operator\">=<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">File<\/span><span class=\"token punctuation\">(<\/span>src<span class=\"token punctuation\">,<\/span> file<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\tFile destFile <span class=\"token operator\">=<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">File<\/span><span class=\"token punctuation\">(<\/span>dest<span class=\"token punctuation\">,<\/span> file<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t\t<span class=\"token function\">copyFolder<span class=\"token punctuation\">(<\/span><\/span>srcFile<span class=\"token punctuation\">,<\/span> destFile<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\t<span class=\"token punctuation\">}<\/span>\n\t\t<span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">else<\/span> <span class=\"token punctuation\">{<\/span>\n\t\t\tFileSystem fs <span class=\"token operator\">=<\/span> FileSystems<span class=\"token punctuation\">.<\/span><span class=\"token function\">getDefault<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\tPath srcPath <span class=\"token operator\">=<\/span> fs<span class=\"token punctuation\">.<\/span><span class=\"token function\">getPath<span class=\"token punctuation\">(<\/span><\/span>src<span class=\"token punctuation\">.<\/span><span class=\"token function\">toString<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\tPath destPath <span class=\"token operator\">=<\/span> fs<span class=\"token punctuation\">.<\/span><span class=\"token function\">getPath<span class=\"token punctuation\">(<\/span><\/span>dest<span class=\"token punctuation\">.<\/span><span class=\"token function\">toString<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t\tFiles<span class=\"token punctuation\">.<\/span><span class=\"token function\">move<span class=\"token punctuation\">(<\/span><\/span>srcPath<span class=\"token punctuation\">,<\/span> destPath<span class=\"token punctuation\">,<\/span> StandardCopyOption<span class=\"token punctuation\">.<\/span>REPLACE_EXISTING<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\n\t\t\tdb<span class=\"token punctuation\">.<\/span><span class=\"token function\">insert<span class=\"token punctuation\">(<\/span><\/span><span class=\"token string\">\"Y\"<\/span><span class=\"token punctuation\">,<\/span> srcPath<span class=\"token punctuation\">.<\/span><span class=\"token function\">toString<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> destPath<span class=\"token punctuation\">.<\/span><span class=\"token function\">toString<span class=\"token punctuation\">(<\/span><\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n\t\t<span class=\"token punctuation\">}<\/span>\n\t<span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<\/blockquote>\n<\/div>\n<\/article>\n<\/div>\n<div class=\"content-function pull-right text-center\">\n<div class=\"content-function-group\"><i id=\"note-vote-927919\" class=\"fa fa-thumbs-up note-vote\" title=\"\" data-toggle=\"tooltip\" data-placement=\"left\" data-original-title=\"\uc88b\uc544\uc694\"><\/i><\/p>\n<div id=\"content-vote-count-927919\" class=\"content-count\">\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sub-banner-wrapper\">\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\uc77c\uc744 \ud558\ub2e4\ubcf4\uba74 \ud2b9\uc815 \ub514\ub809\ud1a0\ub9ac\ub97c \uac10\uc2dc\ud558\uc5ec \ud2b9\uc815 \uc870\uac74\uc774 \ub418\uba74 \uc874\uc7ac \ud558\ub294 \ud654\uc77c\uc744 \ucc98\ub9ac \ud558\ub294 \ud504\ub85c\uadf8\ub7a8\uc774 \ud544\uc694 \ud560\ub54c\uac00 \uc788\ub2e4. &nbsp; \ubcf4\ud1b5\uc740 C\/C++\ub85c \uc791\uc5c5 \ud558\ub294\ub370 \uc5b4\ucc0c\ub2e4 \ubcf4\ub2c8 \ubcf4\uac8c\ub41c \ube14\ub85c\uadf8\uc5d0\uc11c \uc5b4\ub5a4 \ubd84\uc774 JAVA\ub85c \ub9cc\ub4e4\uc5b4 \ub193\uc740\uac8c \uc788\uc5b4\uc11c \uac08\ubb34\ub9ac \ud55c\ub2e4. &nbsp; &nbsp; http:\/\/okky.kr\/article\/272376 &nbsp; Main.java public class Main { \/\/ file moved original public static final String ORIGINAL_PATH = &#8220;D:\\DEV\\tempFile\\javaTemp1&#8221;; \/\/ file moved backup public static final String COPIED_PATH = &#8220;D:\\DEV\\tempFile\\javaTemp2&#8221;; \/\/ watching folder pattern public static final String PATTERN_MATCH = &#8220;([0-9]+)-([0-9]+)-([0-9]+)-(220)-(17420|6130)&#8221;; \/\/ file recovery day public static final int INTERVAL = 7; \/\/ prohibited hour ( 0~24 Calendar.HOUR_OF_DAY ) public static final int PROHIBITED_TIME_START = 2; public static final int PROHIBITED_TIME_END = 7; public static void main(String[] args) { WatchAgent w = new WatchAgent(); try { \/\/ watch agent w.start(); \/\/ file scheduler } catch (Exception e) { e.printStackTrace(); } } } WatchAgent.java import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE; import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE; import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY; import java.io.File; import java.io.IOException; import java.nio.file.ClosedWatchServiceException; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.LinkOption; import java.nio.file.Path; import java.nio.file.SimpleFileVisitor; import java.nio.file.StandardWatchEventKinds; import java.nio.file.WatchEvent; import java.nio.file.WatchKey; import java.nio.file.WatchService; import java.nio.file.attribute.BasicFileAttributes; import java.sql.SQLException; import java.util.Calendar; import java.util.Date; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; public class WatchAgent { public void start() [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[15,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-a5","jetpack-related-posts":[{"id":194,"url":"https:\/\/blog.box.kr\/?p=194","url_meta":{"origin":625,"position":0},"title":"MFC \ub9ac\uc2a4\ud2b8\ucee8\ud2b8\ub864","date":"2014-07-16","format":false,"excerpt":"1. \ud2b9\uc815 ROW \ud3ec\ucee4\uc2a4 \uc8fc\uae30 2. \ud2b9\uc815 ROW\ub85c\u00a0\uac00\uae30 3. \ud5e4\ub354 \uceec\ub7fc\uc218 \uc5bb\uc5b4\uc624\uae30 4. \uceec\ub7fc\uc758 \ub108\ube44\ub97c \uc774\uc058\uac8c \uc8fc\uae30 5. \ud55c\uc904 \ucb49 \uc120\ud0dd\ub418\uac8c \ud558\uae30, \uadf8\ub9ac\ub4dc \ub77c\uc778 \uc8fc\uae30 6. \uc120\ud0dd\ud55c \uc544\uc774\ud15c(ROW)\ub97c \uc9c0\uc6b0\uae30 7. \ub450 \uc544\uc774\ud15c\uc744 \uc2a4\uc651 \ud558\uae30 8.\uae30\uc874\uc5d0 \uc120\ud0dd\ub418\uc5b4\uc788\ub294 \uac83\uc744 \ud574\uccb4\ud558\uae30 9. \ub9ac\uc2a4\ud2b8\ucee8\ud2b8\ub864\ub0b4 \ubaa8\ub4e0 \ud56d\ubaa9\uc744 \uc120\ud0dd\ud558\uae30 10. \ub9ac\uc2a4\ud2b8\ucee8\ud2b8\ub864\ub0b4 \ubaa8\ub4e0 \ud56d\ubaa9\uc744 \uc120\ud0dd\ud574\uc81c \ud558\uae30 11.\u2026","rel":"","context":"In &quot;C\/C++&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":720,"url":"https:\/\/blog.box.kr\/?p=720","url_meta":{"origin":625,"position":1},"title":"[\ud38c]Java \uc5d0\uc11c DataBase Replication Master\/Slave (write\/read) \ubd84\uae30 \ucc98\ub9ac\ud558\uae30","date":"2015-04-15","format":false,"excerpt":"http:\/\/kwon37xi.egloos.com\/ \ub300\uaddc\ubaa8 \uc11c\ube44\uc2a4 \uac1c\ubc1c\uc2dc\uc5d0 \uac00\uc7a5 \uae30\ubcf8\uc801\uc73c\ub85c \ud558\ub294 \ud29c\ub2dd\uc740 \ubc14\ub85c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c Write\uc640 Read DB\ub97c Replication(\ub9ac\ud50c\ub9ac\ucf00\uc774\uc158)\ud558\uace0 \uc4f0\uae30 \uc791\uc5c5\uc740 Master(Write)\ub85c \ubcf4\ub0b4\uace0 \uc77d\uae30 \uc791\uc5c5\uc740 Slave(Read)\ub85c \ubcf4\ub0b4\uc5b4 \ubd80\ud558\ub97c \ubd84\uc0b0 \uc2dc\ud0a4\ub294 \uac83\uc774\ub2e4. \ud2b9\ud788 \ub300\ubd80\ubd84\uc758 \uc11c\ube44\uc2a4\ub294 \uc77d\uae30\uac00 \uc555\ub3c4\uc801\uc73c\ub85c \ub9ce\uae30 \ub54c\ubb38\uc5d0\u00a0 Slave\ub294 \uc5ec\ub7ec \ub300\ub97c \ub450\uc5b4 \uc77d\uae30 \ubd80\ud558\ub97c \ubd84\uc0b0 \uc2dc\ud0a8\ub2e4. \uadf8\ub7f0\ub370 \ub610 \ud558\ub098 \uae30\uc5b5\ud574\uc57c \ud560 \uac83\uc774 Replication\uc740 \ube44\ub85d \uc9e7\ub354\ub77c\ub3c4\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":590,"url":"https:\/\/blog.box.kr\/?p=590","url_meta":{"origin":625,"position":2},"title":"[\ud38c]Java \uc5d0\uc11c DataBase Replication Master\/Slave (write\/read) \ubd84\uae30 \ucc98\ub9ac\ud558\uae30 \ud504\ub85c\uadf8\ub798\ubc0d","date":"2015-01-30","format":false,"excerpt":"Cloud\ud658\uacbd\uc5d0\uc11c DB\ub97c \uc0ac\uc6a9\ud558\ub2e4\ubcf4\ub2c8 Disk I\/O\ub098 \ub108\ubb34 \ub290\ub824\uc11c \ub9ce\uc740 \uace0\ubbfc\uc744 \ud558\uac8c \ub410\ub2e4. \uc77c\ub2e8 \uc0dd\uac01\ub098\ub294\uac83\uc774 \ub9ce\uc774 \ub4e4 \ud558\ub294 Replication\uc744 \uc774\uc6a9\ud55c \ubd80\ud558\ubd84\uc0b0 ( Master\ub294 Insert\/Update\ub9cc, Slave\ub294 SELECT\ub9cc ) \uadf8\ub7f0\ub370 \ub9c9\uc0c1 \ud560\ub824\uba74 \uc774\uac83 \uc800\uac83 \uc190\uc774 \ub9ce\uc774 \uac04\ub2e4.. \uadf8\ub798\uc11c.. \uc0dd\uac01\ub9cc \ud558\uace0 \uc801\uc6a9\uc744 \uc548\ud588\uc5c8\ub294\ub370.. \u00a0 \uc6f9\uc11c\ud551\uc744 \ud558\ub2e4\uac00 \uc774\ub7f0 \uae00\uc744 \ubc1c\uacac.. \uc544!! \uc774\ub807\uac8c \uc88b\uc744 \uc218\uac00.. \u00a0 \uc5ed\uc2dc\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":122,"url":"https:\/\/blog.box.kr\/?p=122","url_meta":{"origin":625,"position":3},"title":"Maven\uc744 \ub118\uc5b4 Gradle\ub85c \uac00\uc790","date":"2014-06-23","format":false,"excerpt":"Maven\uc744 \ub118\uc5b4 Gradle\ub85c \uac00\uc790.\u00a0\ud504\ub85c\uadf8\ub798\ubc0d by\u00a0\uad8c\ub0a8 2012\/10\/14 21:33 kwon37xi.egloos.com\/4747016 \ub367\uae00\uc218 :\u00a029 Maven\uc744 \uc368 \ubcf8 \uc0ac\ub78c\ub4e4\uc740 \ub300\ubd80\ubd84 \ub290\ub07c\ub9ac\ub77c \uc0dd\uac01\ud558\uc9c0\ub9cc \ub9e4\uc6b0 \uacbd\uc9c1\ub3fc \uc788\uace0 \uadf8\ub85c\uc778\ud574 \ubb34\uc5b8\uac00 Maven\uc774 \uae30\ubcf8 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \ube4c\ub4dc \uacfc\uc815\uc744 \ucd94\uac00\ud574\uc57c \ud560 \uacbd\uc6b0 \uace0\uc0dd\uc774 \uc774\ub9cc \uc800\ub9cc\uc774 \uc544\ub2c8\ub2e4. \uc774\uc5d0, \uc694\uc998 Maven \ub300\ud55c \ub300\uc548\uc774 \ub9ce\uc774 \ub098\uc624\uace0 \uc788\uc73c\uba70 \uadf8 \uc911 \uac00\uc7a5 \ub3cb\ubcf4\uc774\ub294 \uac83\uc774\u00a0Gradle(Groovy\u00a0\uae30\ubc18)\uc774 \uc544\ub2cc\uac00 \uc2f6\ub2e4.\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":722,"url":"https:\/\/blog.box.kr\/?p=722","url_meta":{"origin":625,"position":4},"title":"[\ud38c]Maven\uc744 \ub118\uc5b4 Gradle\ub85c \uac00\uc790.","date":"2015-04-15","format":false,"excerpt":"http:\/\/kwon37xi.egloos.com\/4747016 \u00a0 Maven\uc744 \uc368 \ubcf8 \uc0ac\ub78c\ub4e4\uc740 \ub300\ubd80\ubd84 \ub290\ub07c\ub9ac\ub77c \uc0dd\uac01\ud558\uc9c0\ub9cc \ub9e4\uc6b0 \uacbd\uc9c1\ub3fc \uc788\uace0 \uadf8\ub85c\uc778\ud574 \ubb34\uc5b8\uac00 Maven\uc774 \uae30\ubcf8 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \ube4c\ub4dc \uacfc\uc815\uc744 \ucd94\uac00\ud574\uc57c \ud560 \uacbd\uc6b0 \uace0\uc0dd\uc774 \uc774\ub9cc \uc800\ub9cc\uc774 \uc544\ub2c8\ub2e4. \uc774\uc5d0, \uc694\uc998 Maven \ub300\ud55c \ub300\uc548\uc774 \ub9ce\uc774 \ub098\uc624\uace0 \uc788\uc73c\uba70 \uadf8 \uc911 \uac00\uc7a5 \ub3cb\ubcf4\uc774\ub294 \uac83\uc774 Gradle(Groovy \uae30\ubc18)\uc774 \uc544\ub2cc\uac00 \uc2f6\ub2e4. \uadf8\ub798\uc11c \ucc28\uae30 \ud504\ub85c\uc81d\ud2b8\uc758 \ube4c\ub4dc \ud234\ub85c Gradle\uc744\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":367,"url":"https:\/\/blog.box.kr\/?p=367","url_meta":{"origin":625,"position":5},"title":"[\ud38c]Scala \uc2dc\uc791\ud558\uae30","date":"2014-09-15","format":false,"excerpt":"\u00a0 http:\/\/ppassa.wordpress.com\/2012\/02\/19\/getting_started_scala\/ Scala \uc2dc\uc791\ud558\uae30 \uc694\uc998 \ub4e4\uc5b4\uc11c\u00a0Scala\ub97c \uacf5\ubd80\ud558\uace0 \uc788\ub2e4. \uc544\uc9c1 \ub9ce\uc774 \ubd80\uc871\ud558\uc9c0\ub9cc, \uc9c0\uae08\uae4c\uc9c0 \ubc30\uc6b4 \uac83\ub4e4 \uae30\ub85d\ud574\ub450\uace0, \ub610 \ud639\uc2dc \uc870\uae08\uc774\ub77c\ub3c4 \ub3c4\uc6c0\uc774 \ub418\ub294 \ubd84\ub4e4\uc774 \uc788\uc744 \uc9c0 \ubab0\ub77c \uacf5\uc720\ud574\ubcf4\uace0\uc790 \ud55c\ub2e4. 1. \ub4e4\uc5b4\uac00\uba70 \ubb58 \ub610 \ubc30\uc6cc\uc57c \ud55c\ub2e8 \ub9d0\uc778\uac00? \uc774\ubbf8 C++, Java, Python, Ruby, JavaScript \ub4f1 \ub9ce\uc740 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub4e4\uc774 \uc788\ub294\ub370, \uc65c \uc790\uafb8 \uc0c8\ub85c\uc6b4 \uc5b8\uc5b4\uac00 \ub098\uc624\uace0 \uc788\ub0d0?\u2026","rel":"","context":"In &quot;\ucc38\uace0\ub97c \uc704\ud55c \uc800\uc7a5\ubb3c&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/625"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=625"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/625\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}