{"id":936,"date":"2018-09-17T18:37:49","date_gmt":"2018-09-17T09:37:49","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=936"},"modified":"2019-10-04T02:02:07","modified_gmt":"2019-10-03T17:02:07","slug":"file-copy","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/ko\/blog\/java\/\ud30c\uc77c-\ubcf5\uc0ac","title":{"rendered":"Java \ud30c\uc77c \ubcf5\uc0ac(\ubc84\ud37c \ud06c\uae30 \ubcc0\uacbd)"},"content":{"rendered":"<h2 class=\"common_title\"><a name=\"0\">Java \ud30c\uc77c \ubcf5\uc0ac(\ubc84\ud37c \ud06c\uae30 \ubcc0\uacbd)<\/a><\/h2>\n<p>\nJava\uc5d0\uc11c <strong>java.io.InputStream<\/strong>,,,<strong>java.io.OutputStream<\/strong> \uc5d0\uc11c<br \/>\n\uc785\ucd9c\ub825 \uc2a4\ud2b8\ub9bc\uc744 \uc774\uc6a9\ud55c \uce74\ud53c \ucc98\ub9ac\ub97c \uc2e4\uc2dc\ud558\ub294 \uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8\uc744 \uc18c\uac1c\ud569\ub2c8\ub2e4.<br \/>\n\uc2a4\ud2b8\ub9bc\uc744 \uc774\uc6a9\ud55c \uce74\ud53c \ucc98\ub9ac\uc5d0\uc11c\ub294, \uc77d\uae30 \ubc84\ud37c \uc0ac\uc774\uc988\ub97c \ud06c\uac8c \ud558\ub294 \uac83\uc73c\ub85c, \ud070 \ud30c\uc77c\uc5d0\uc11c\ub3c4 \ube44\uad50\uc801 \uace0\uc18d\uc73c\ub85c \uce74\ud53c\ub97c \uc2e4\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br \/>\uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c\ub294 \ub370\uc774\ud130\uc758 \uc77d\uc5b4\ub4e4\uc5ec \ubc84\ud37c \uc0ac\uc774\uc988\ub97c \uc778\uc218\ub85c \uc9c0\uc815 \uac00\ub2a5\ud558\uac8c \ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.\n<\/p>\n<p>\n\uc9c0\uc815\ud55c read buffer area\ub294 JavaVM\uc758 heap\ub0b4\uc5d0 \ud655\ubcf4\ub418\uae30 \ub54c\ubb38\uc5d0, \ub108\ubb34 \ud06c\uac8c \ud574\ub3c4 \ud6a8\uc728\uc774 \ub098\ube60\uc9d1\ub2c8\ub2e4. \ub530\ub77c\uc11c \ud30c\uc77c\uc744 \ubcf5\uc0ac\ud560 \ub54c \ud6a8\uc728\uc801\uc778 \ub370\uc774\ud130 \uc77d\uae30 \ubc84\ud37c \ud06c\uae30\ub97c \ub3d9\uc2dc\uc5d0 \ud655\uc778\ud569\ub2c8\ub2e4.\n<\/p>\n<h2 class=\"common_title\"><a name=\"1\">\uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8<\/a><\/h2>\n<p><textarea readonly=\"readonly\" style=\"font-size: 13px;height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">\/**<br \/>\n * \u30b3\u30d4\u30fc\u5143\u306e\u30d1\u30b9[srcPath]\u304b\u3089\u30b3\u30d4\u30fc\u5148\u306e\u30d1\u30b9[destPath]\u3078\u30d5\u30a1\u30a4\u30eb\u306e\u30b3\u30d4\u30fc<br \/>\n * \u3092\u884c\u3044\u307e\u3059\u3002<br \/>\n * @param srcPath    \u30b3\u30d4\u30fc\u5143\u306e\u30d1\u30b9<br \/>\n * @param destPath    \u30b3\u30d4\u30fc\u5148\u306e\u30d1\u30b9<br \/>\n * @param bufferSize    \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u30b5\u30a4\u30ba(KB)\u3067\u3059\u3002<br \/>\n * @throws IOException    \u4f55\u3089\u304b\u306e\u5165\u51fa\u529b\u51e6\u7406\u4f8b\u5916\u304c\u767a\u751f\u3057\u305f\u5834\u5408<br \/>\n *\/<br \/>\npublic static void copyStream(String srcPath, String destPath,<br \/>\n    int bufferSize) throws IOException {<br \/>\n    InputStream in = new FileInputStream(srcPath);<br \/>\n    OutputStream os = new FileOutputStream(destPath);<br \/>\n    copyStream(in, os, bufferSize);<br \/>\n}<\/p>\n<p>\/**<br \/>\n * \uc785\ub825 \uc2a4\ud2b8\ub9bc\uc5d0\uc11c \ucd9c\ub825 \uc2a4\ud2b8\ub9bc\uc5d0 \ub370\uc774\ud130\ub97c \uc501\ub2c8\ub2e4.<br \/>\n * \ub610\ud55c, \ubcf5\uc0ac \ucc98\ub9ac \uc885\ub8cc \ud6c4, \uc785\ub825\u00b7\ucd9c\ub825 \uc2a4\ud2b8\ub9bc\uc744 \ub2eb\uc2b5\ub2c8\ub2e4.<br \/>\n * @param in \uc785\ub825 \uc2a4\ud2b8\ub9bc<br \/>\n * @param os \ucd9c\ub825 \uc2a4\ud2b8\ub9bc<br \/>\n * @param bufferSize \ub370\uc774\ud130 \uc77d\uae30 \ubc84\ud37c \ud06c\uae30(KB)\uc785\ub2c8\ub2e4.<br \/>\n * @throws IOException \uc5b4\ub5a0\ud55c \uc785\ucd9c\ub825 \ucc98\ub9ac \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc744 \uacbd\uc6b0<br \/>\n *\/<br \/>\npublic static void copyStream(InputStream in, OutputStream os,<br \/>\n    int bufferSize) throws IOException {<br \/>\n    int len = -1;<br \/>\n    byte[] b = new byte[bufferSize * 1024];<br \/>\n    try {<br \/>\n        while ((len = in.read(b, 0, b.length)) != -1) {<br \/>\n            os.write(b, 0, len);<br \/>\n        }<br \/>\n        os.flush();<br \/>\n    } finally {<br \/>\n        if (in != null) {<br \/>\n            try {<br \/>\n                in.close();<br \/>\n            } catch (IOException e) {<br \/>\n                e.printStackTrace();<br \/>\n            }<br \/>\n        }<br \/>\n        if (os != null) {<br \/>\n            try {<br \/>\n                os.close();<br \/>\n            } catch (IOException e) {<br \/>\n                e.printStackTrace();<br \/>\n            }<br \/>\n        }<br \/>\n    }<br \/>\n}<br \/>\n<\/textarea><\/p>\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=\"3\">\uc2e4\ud589<\/a><\/h2>\n<p>\n\uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8\uc758 \ud30c\uc77c \uce74\ud53c\ub97c \uc2e4\uc2dc\ud558\uae30 \uc704\ud574\uc11c, C\ub4dc\ub77c\uc774\ube0c \ubc14\ub85c \uc544\ub798\uc5d0 100MB\uc758 \ud30c\uc77c \u300c100M.txt\u300d\ub97c \uc900\ube44\ud588\uc2b5\ub2c8\ub2e4. \uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c\ub294 <i>C:\\100M.txt<\/i> \ubc84\ud37c \ud06c\uae30 1000KB \ub2e8\uc704\ub85c \ub370\uc774\ud130\ub97c \uc77d\uc2b5\ub2c8\ub2e4. <i>C:\\a.txt<\/i>  \uc5d0 \ubcf5\uc0ac\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub610\ud55c, \uc0d8\ud50c\uc758 \uc2e4\ud589\uc740 \uc774\ud558\uc758 \ud658\uacbd\uc5d0\uc11c \uc2e4\uc2dc\ud588\uc2b5\ub2c8\ub2e4.<br \/>\nOS : WindowsXP<br \/>\nCPU : Athlon 1.46GHz<br \/>\n\uba54\ubaa8\ub9ac : 1GB<br \/>\nJRE : 1.6.4\n<\/p>\n<p>\u25c6\uc2e4\ud589\uc608<\/p>\n<pre class=\"sample_src\">\/** * \uc608\uc81c \uc2e4\ud589 * @param args *\/ public static void main(String[] args) { try { copyStream(&quot;C:\\\\100M.txt&quot;, &quot;C:\\\\a.txt&quot;,1000); } catch (IOException e) { e.printStackTrace(); } }\r\n<\/pre>\n<p>\u25c6\uc2e4\ud589 \uacb0\uacfc<br \/>\n<a href=\"https:\/\/chat-messenger.com\/images\/file_copy.jpg\" target=\"_blank\"><br \/>\n<img src=\"https:\/\/chat-messenger.com\/images\/file_copy.jpg\" alt=\"\" border=\"0\"><\/a><br clear=\"all\"><\/p>\n<h2 class=\"common_title\"><a name=\"4\">\ubc84\ud37c \ud06c\uae30 \ubcc0\uacbd<\/a><\/h2>\n<p>\n\ud30c\uc77c\uc744 \ubcf5\uc0ac \ud560 \ub54c \ud6a8\uc728\uc801\uc778 \ub370\uc774\ud130 \uc77d\uae30 \ubc84\ud37c \ud06c\uae30\ub97c \ud655\uc778\ud558\uae30 \uc704\ud574 copyStream\uc758 \uc138 \ubc88\uc9f8 \uc778\uc218<br \/>\n1KB, 100KB, 1000KB, 10000KB \ub2e8\uc704\ub85c \uac19\uc740 \ubcf5\uc0ac \ucc98\ub9ac\ub97c \uc2e4\uc2dc\ud55c \uacb0\uacfc\ub97c \uc774\ud558\uc5d0 \uc815\ub9ac\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<br \/>\n<img src=\"https:\/\/chat-messenger.com\/images\/file_copy_stream_reslt.jpg\" alt=\"\" border=\"0\"><br clear=\"all\"><br \/>\n<br \/>\n\uc704\uc758 \uacb0\uacfc\ub9cc\uc73c\ub85c \uacb0\uc815\ud560 \uc218\ub294 \uc5c6\uc9c0\ub9cc \ub370\uc774\ud130 \uc77d\uae30 \ubc84\ud37c \ud06c\uae30\ub97c 1000KB \ub2e8\uc704\ub85c \uc9c0\uc815\ud558\uba74<br \/>\n\ubcf5\uc0ac \ucc98\ub9ac \uc911\uc758 \ud799 \uc0ac\uc6a9\ub7c9, \ucc98\ub9ac \uc2dc\uac04\uc5d0 \uc788\uc5b4\uc11c \ud6a8\uc728\uc774 \uc88b\ub2e4\uace0 \ud558\ub294 \uacb0\uacfc\uac00 \ub098\uc654\uc2b5\ub2c8\ub2e4.<br \/>\n\ub610\ud55c, \ud30c\uc77c \uc0ac\uc774\uc988\ub97c \ud06c\uac8c \ud55c \uacbd\uc6b0(1GB \uc815\ub3c4)\uc5d0\uc11c\ub3c4 \uac19\uc740 \uacb0\uacfc\uac00 \uc5bb\uc5b4\uc84c\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubc18\ub300\ub85c \uc0ac\uc774\uc988\uac00 \uc791\uc740 \ud30c\uc77c(1MB \uc774\ud558 \uc815\ub3c4)\uc744 \uce74\ud53c\ud558\ub294 \uacbd\uc6b0\ub294, \ubc84\ud37c \uc0ac\uc774\uc988\ub97c \ud06c\uac8c \ud574\ub3c4 \ub0ad\ube44\uac00 \ub418\ubbc0\ub85c 100KB \uc815\ub3c4\ub85c \uc9c0\uc815\ud558\ub294 \uac83\uc774 \uc88b\uc744\uae4c \uc0dd\uac01\ud569\ub2c8\ub2e4.\n<\/p>\n\n<h2 class=\"common_title\"><a name=\"5\">FileChannel\uc744 \uc0ac\uc6a9\ud558\uc5ec \ub354 \ube68\ub9ac<\/a><\/h2>\n<p><a name=\"5\"><\/a><\/p>\n<p><a name=\"5\"><br \/>\n\u3000<strong>java.io.InputStream<\/strong>,,,<strong>java.io.OutputStream<\/strong><br \/>\n\uc5d0\uc11c\uc758 \ubcf5\uc0ac \ucc98\ub9ac\ub294 \uc785\ucd9c\ub825 \uc2a4\ud2b8\ub9bc\uc744 \uc774\ud574\ud558\ub294\ub370 \uc911\uc694\ud558\uc9c0\ub9cc,<br \/>\nJ2SE1.4\uc5d0\uc11c \ub3c4\uc785 \ub41c New I \/ O <strong>java.nio.channels.FileChannel#transferTo<\/strong><br \/>\n\uba54\uc18c\ub4dc\ub97c \uc774\uc6a9\ud558\ub294 \uac83\uc73c\ub85c, \ubcf4\ub2e4 \ud6a8\uc728\uc801\uc73c\ub85c \ud30c\uc77c \uce74\ud53c\ub97c \uc2e4\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br \/>\n\ub2e4\uc74c\uc740 FileChannel\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc27d\uace0 \ube60\ub974\uac8c \ud30c\uc77c \ubcf5\uc0ac\ub97c \uc218\ud589\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<br \/>\n\u21d2 <\/a><a href=\"https:\/\/chat-messenger.com\/ko\/blog\/java\/filechannel-transferto\/\"><strong>Java \ud30c\uc77c \ubcf5\uc0ac (\uac04\ub2e8 \u00b7 \uace0\uc18d)<\/strong><\/a><br \/>\n<\/p>","protected":false},"excerpt":{"rendered":"<p>Java \ud30c\uc77c \ubcf5\uc0ac (\ubc84\ud37c \ud06c\uae30 \ubcc0\uacbd) Java\uc5d0\uc11c java.io.InputStream, ja [\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\/ko\/wp-json\/wp\/v2\/posts\/936"}],"collection":[{"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/comments?post=936"}],"version-history":[{"count":6,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/posts\/936\/revisions"}],"predecessor-version":[{"id":4541,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/posts\/936\/revisions\/4541"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/media?parent=936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/categories?post=936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/tags?post=936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}