{"id":945,"date":"2018-09-17T18:42:40","date_gmt":"2018-09-17T09:42:40","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=945"},"modified":"2018-12-23T01:52:55","modified_gmt":"2018-12-22T16:52:55","slug":"xmlencoder-writeobject","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/ko\/blog\/java\/xmlencoder-writeobject","title":{"rendered":"Java XMLEncoder\ub85c \uac1d\uccb4 \uc800\uc7a5"},"content":{"rendered":"<h2 class=\"common_title\"><a name=\"0\">Java <strong>XMLEncoder<\/strong>\uc5d0\uc11c \uac1d\uccb4 \uc800\uc7a5,<strong>XMLDecoder<\/strong>\uc73c\ub85c \ubcf5\uc6d0<\/a><\/h2>\n<p>\n<strong>Java<\/strong>\uc5d0\uc11c \uac1c\uccb4<strong>XML \ud615\uc2dd<\/strong>\uc5d0\uc11c \uc800\uc7a5\ud560 \uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8\uc744 \uc18c\uac1c\ud569\ub2c8\ub2e4.<br \/>\nXML \ucd9c\ub825\uc740<strong>java.beans.XMLEncoder<\/strong>\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<br \/>\n\ub610<strong>java.beans.XMLDecoder<\/strong>\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc800\uc7a5\ub41c \uac1d\uccb4\ub97c \ubcf5\uc6d0\ud558\ub294 \uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8\ub3c4 \ub3d9\uc2dc\uc5d0 \uc18c\uac1c\ud569\ub2c8\ub2e4.<\/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=\"1\">\uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8<\/a><\/h2>\n<ul>\n<li>\ube44\uacf5\uac1c\ub85c \uc120\uc5b8\ub41c \ud544\ub4dc\ub294 Getter \ubc0f Setter \uba54\uc11c\ub4dc\ub97c \uc815\uc758\ud560 \ub54c \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/li>\n<li>\ubcc0\uc218\uac00 \ubcc0\uacbd\ub41c \uacbd\uc6b0\uc5d0\ub9cc XML \ud30c\uc77c\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/li>\n<li>\ubcf4\uc874\ud558\ub294 \uc624\ube0c\uc81d\ud2b8\ub294 java.util.HashMap\ub098, java.util.ArrayList\ub4f1\ub3c4 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uac04\ub2e8\ud788 \uac1d\uccb4\uc758 \uc0c1\ud0dc\ub97c \uc800\uc7a5\ud558\ub294 \ub370 \uc720\uc6a9\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p><textarea readonly=\"readonly\" style=\"font-size: 13px;height: 400px;\" class=\"src\" onclick=\"this.focus();this.select()\">\/**<br \/>\n * java.beans.XMLEncoder\u3092\u4f7f\u7528\u3057\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8[object]\u3092\u3001<br \/>\n * \u6307\u5b9a\u3057\u305f\u30d1\u30b9[path]\u306b\u3001XML\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u4fdd\u5b58\u3057\u307e\u3059\u3002<br \/>\n * \u203b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8[object]\u304cJavaBeans\u306e\u6163\u4f8b\u306b\u9069\u5408\u3057\u3066\u3044\u308b\u5834\u5408\u3001<br \/>\n * \u3000\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u306a\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u30c7\u30fc\u30bf\u3082\u4fdd\u5b58\u3067\u304d\u307e\u3059\u3002<br \/>\n * \u203b\u4fdd\u5b58\u3057\u305fXML\u30d5\u30a1\u30a4\u30eb\u306fjava.beans.XMLDecoder\u3067\u5fa9\u5143\u3059\u308b\u4e8b\u304c\u3067\u304d\u307e\u3059\u3002<br \/>\n * @param path \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4fdd\u5b58\u3059\u308b\u30d1\u30b9\u3002<br \/>\n *              \u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u53ef\u80fd\u3067\u3042\u308c\u3070\u4f5c\u6210\u3057\u307e\u3059\u3002<br \/>\n * @param object \u4fdd\u5b58\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002<br \/>\n * @throws FileNotFoundException<br \/>\n *                 \u6307\u5b9a\u3055\u308c\u305f\u30d1\u30b9\u540d\u3067\u793a\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb\u304c\u958b\u3051\u306a\u304b\u3063\u305f\u5834\u5408<br \/>\n *\/<br \/>\npublic static synchronized void writeXML(String path, Object object)<br \/>\n        throws IOException {<br \/>\n    XMLEncoder enc = null;<br \/>\n    ByteArrayOutputStream out = new ByteArrayOutputStream();<br \/>\n    FileOutputStream fileStream = null;<br \/>\n    try {<br \/>\n        \/\/ \u5148\u306b\u30e1\u30e2\u30ea\u4e2d\u306bXML\u30c7\u30fc\u30bf\u3092\u51fa\u529b\u3059\u308b<br \/>\n        enc = new XMLEncoder(out);<br \/>\n        enc.writeObject(object);<br \/>\n        enc.close(); \/\/ close()\u306e\u4e2d\u3067flush()\u304c\u547c\u3070\u308c\u308b\u3002<br \/>\n        byte[] xmlbuff = out.toByteArray();<\/p>\n<p>        \/\/ \ubc14\uc774\ud2b8 \ub370\uc774\ud130\ub97c \ud30c\uc77c\ub85c \ucd9c\ub825<br \/>\n        fileStream = new FileOutputStream(path);<br \/>\n        fileStream.write(xmlbuff);<br \/>\n        fileStream.flush();<br \/>\n    } finally {<br \/>\n        if (enc != null) {<br \/>\n            enc.close();<br \/>\n        }<br \/>\n        if (out != null) {<br \/>\n            out.close();<br \/>\n        }<br \/>\n        if (fileStream != null) {<br \/>\n            fileStream.close();<br \/>\n        }<br \/>\n    }<br \/>\n}<br \/>\n\/**<br \/>\n * \uc9c0\uc815\ub41c \uacbd\ub85c [path]\uc758 XML \ud30c\uc77c\uc5d0\uc11c \uac1d\uccb4\ub97c \ubcf5\uc6d0\ud569\ub2c8\ub2e4.<br \/>\n * \u203bXML \ud30c\uc77c\uc740 java.beans.XMLEncoder\ub85c \uc800\uc7a5\ud558\uace0 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.<br \/>\n * @param path \uc624\ube0c\uc81d\ud2b8\uac00 \uc800\uc7a5\ub41c \uacbd\ub85c.<br \/>\n * @throws FileNotFoundException<br \/>\n * \uc9c0\uc815\ub41c \uacbd\ub85c\uba85\uc73c\ub85c \ud45c\uc2dc\ub418\ub294 \ud30c\uc77c\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0<br \/>\n *\/<br \/>\npublic static Object readXML (String path) throws FileNotFoundException {<br \/>\n    XMLDecoder d = null;<br \/>\n    try {<br \/>\n        d = new XMLDecoder (new BufferedInputStream (<br \/>\n                \uc0c8\ub85c\uc6b4 FileInputStream (path)));<br \/>\n        return d.readObject();<br \/>\n    } finally {<br \/>\n        if (d != null) {<br \/>\n            d.close();<br \/>\n        }<br \/>\n    }<br \/>\n}<br \/>\n<\/textarea><\/p>\n<p>\u203b\ubcf4\uc874\ud558\ub294 \ud074\ub798\uc2a4\uc758 \uc0d8\ud50c\ub85c\uc11c, \uc774\ud558\uc758 \ud074\ub798\uc2a4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<br \/>\n<textarea readonly=\"readonly\" style=\"font-size: 13px;height: 250px\" class=\"src\" onclick=\"this.focus();this.select()\">public class FreeSoft {<br \/>\n    private String name;<br \/>\n    private String url;<br \/>\n    public String getName() {<br \/>\n        return name;<br \/>\n    }<br \/>\n    public void setName(String name) {<br \/>\n        this.name = name;<br \/>\n    }<br \/>\n    public String getUrl() {<br \/>\n        return url;<br \/>\n    }<br \/>\n    public void setUrl(String url) {<br \/>\n        this.url = url;<br \/>\n    }<br \/>\n}<br \/>\n<\/textarea><br \/>\n<\/p>\n<h2 class=\"common_title\"><a name=\"2\">\uc2e4\ud589 \uacb0\uacfc<\/a><\/h2>\n<p>\u25c6\uc2e4\ud589\uc608<br \/>\n<textarea readonly=\"readonly\" style=\"font-size: 13px;height: 250px\" class=\"src\" onclick=\"this.focus();this.select()\">public static void main(String[] args) {<br \/>\n    try {<br \/>\n        \/\/ FreeSoft\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3057XML\u306b\u51fa\u529b<br \/>\n        FreeSoft freeSoft = new FreeSoft();<br \/>\n        freeSoft.setName(&#8220;Chat\uff06Messenger \u30c1\u30e3\u30c3\u30c8\u3082\u30e1\u30c3\u30bb\u30f3\u30b8\u30e3\u30fc\u3082\uff01\uff01&#8221;);<br \/>\n        freeSoft.setUrl(&#8220;https:\/\/chat-messenger.com\/&#8221;);<br \/>\n        writeXML(&#8220;C:\\\\FreeSoft.xml&#8221;,freeSoft);  <\/p>\n<p>        \/\/ XML\uc5d0\uc11c FreeSoft \ud074\ub798\uc2a4\uc758 \uc778\uc2a4\ud134\uc2a4 \ubcf5\uc6d0<br \/>\n        FreeSoft freeSoft2 = (FreeSoft)readXML(\u201cC:\\\\FreeSoft.xml\u201d);<br \/>\n        System.out.println(\u201c\uc18c\ud504\ud2b8 \uc774\ub984:\u201d+freeSoft2.getName());<br \/>\n        System.out.println(\u201cURL:\u201d+freeSoft2.getUrl());<br \/>\n    } catch (Exception e) {<br \/>\n        e.printStackTrace();<br \/>\n    }<br \/>\n}<br \/>\n<\/textarea><br \/>\n\u25c6\ucd9c\ub825 \uacb0\uacfc<\/p>\n<pre class=\"console\">\uc18c\ud504\ud2b8 \uc774\ub984: Chat &amp; Messenger \ucc44\ud305\ub3c4 \uba54\uc2e0\uc800\ub3c4! ! URL: https:\/\/chat-messenger.com\/\r\n<\/pre>\n<p>\u25c6C:\\\\FreeSoft.xml\uc758 \ub0b4\uc6a9<\/p>\n<pre class=\"sample_src\"><object> Chat &amp; Messenger \ucc44\ud305\ub3c4 \uba54\uc2e0\uc800\ub3c4! ! https:\/\/chat-messenger.com\/<\/object> \r\n<\/pre>\n<h2 class=\"common_title\"><a name=\"3\">\uc774\uc6a9\ud558\ub294 \uacbd\uc6b0\uc758 \uc8fc\uc758\uc810<\/a><\/h2>\n<p>\ud3b8\ub9ac\ud55c java.beans.XMLEncoder, java.beans.XMLDecoder \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4\ub9cc, Chat&amp;Messenger \ub85c \uc2e4\ucc9c\uc801\uc73c\ub85c \uc774\uc6a9\ud558\uba74, \ub9e4\uc6b0 \ub808\uc5b4 \ucf00\uc774\uc2a4\uc785\ub2c8\ub2e4\ub9cc, java.beans.XMLEncoder \ub85c XML\uc5d0 \ucd9c\ub825\uc2dc, \ud30c\uc77c\uc774 0 \ubc14\uc774\ud2b8\uac00 \ub418\ub294 \ubb38\uc81c\ub97c \ud655\uc778 \uc911\uc785\ub2c8\ub2e4.<br \/>\n0\ubc14\uc774\ud2b8\uc758 \ud30c\uc77c\uc744 \uc77d\uc73c\uba74 \u300c\ud45c\uc900 \uc5d0\ub7ec \ucd9c\ub825\u300d\uc5d0 ParseException\uac00 \uae30\ub85d\ub429\ub2c8\ub2e4.<br \/>\n<br \/>\n\uc774 \uc6d0\uc778\uc740 FileOutputStream \uc758 \uc778\uc2a4\ud134\uc2a4\ub97c \uc0dd\uc131\ud55c \uc2dc\uc810\uc73c\ub85c, \ud30c\uc77c\uc740 \ube44\uc6cc\uc838 \ubc84\ub9bd\ub2c8\ub2e4.<br \/>\nFileOutputStream \uc778\uc2a4\ud134\uc2a4 \uc0dd\uc131 \ud6c4 XML \ub370\uc774\ud130\ub97c \ucd9c\ub825\ud558\uae30 \uc804\uc5d0 Java \ud504\ub85c\uc138\uc2a4\uac00 \uc885\ub8cc\ub418\uba74 \ubc1c\uc0dd\ud55c\ub2e4\uace0 \uc0dd\uac01\ud569\ub2c8\ub2e4.<br \/>\n<br \/>\nChat&amp;Messenger\ub294 \uc774 \ubb38\uc81c\ub85c \uc778\ud574 \ubc31\uc5c5 \ud30c\uc77c\uc744 \ub9cc\ub4e4\uace0 \ubb38\uc81c\ub97c \ud574\uacb0\ud569\ub2c8\ub2e4.<\/p>","protected":false},"excerpt":{"rendered":"<p>Java XMLEncoder\ub85c \uac1d\uccb4 \uc800\uc7a5, XMLDecoder\ub85c \ubcf5\uc6d0 Java\ub85c \uac1d\uccb4 XML [\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\/945"}],"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=945"}],"version-history":[{"count":4,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/posts\/945\/revisions"}],"predecessor-version":[{"id":1880,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/posts\/945\/revisions\/1880"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/media?parent=945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/categories?post=945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/ko\/wp-json\/wp\/v2\/tags?post=945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}