{"id":645,"date":"2020-10-25T17:48:28","date_gmt":"2020-10-25T16:48:28","guid":{"rendered":"http:\/\/www.valeriofinazzo.it\/wordpress\/?p=645"},"modified":"2020-10-30T17:39:14","modified_gmt":"2020-10-30T16:39:14","slug":"tutorial-golang-leggere-archivi","status":"publish","type":"post","link":"http:\/\/www.valeriofinazzo.it\/wordpress\/2020\/10\/tutorial-golang-leggere-archivi\/","title":{"rendered":"TUTORIAL GOLANG &#8211; LEGGERE ARCHIVI"},"content":{"rendered":"\n<p>Dopo aver visto come creare dei file zip vediamo come poter effettuare la lettura e lo spacchettamento di un file zip.<\/p>\n\n\n\n<p>Ipotizziamo di avere un file zip sotto la directory download, vogliamo leggerlo e scompattarlo nella directory dove lanciamo la routine go.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\treader, err := zip.OpenReader(\"C:\\\\Users\\\\Valerio\\\\Downloads\\\\rdt.zip\")\n\tif err != nil {\n\t\tfmt.Println(\"Errore: \", err)\n\t}<\/pre>\n\n\n\n<p>A questo punto creiamo una directory rdt con permessi di scrittura<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\terr = os.Mkdir(\"rdt\", 0755)\n\tif err != nil {\n\t\tfmt.Println(\"Errore: \", err)\n\t}<\/pre>\n\n\n\n<p>Infine scorriamo l&#8217;elenco dei file presenti all&#8217;interno dello zip, li leggiamo e li copiamo all&#8217;interno della directory appena generata<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fileszip := reader.File\n\tfor _, fil := range fileszip {\n\t\tsinglereader, _ := fil.Open()\n\t\tnewpath := filepath.Join(\"rdt\", fil.Name)\n\t\tnewfile, _ := os.Create(newpath)\n\t\tio.Copy(bufio.NewWriter(newfile), singlereader)\n\t}<\/pre>\n\n\n\n<p>In questo esempio di nuovo vediamo il pakage filepath che ci permette di costruire dei percorsi sul file system con la function Join che concatena i percorsi ricevuti.<\/p>\n\n\n\n<p>Alla prossima<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dopo aver visto come creare dei file zip vediamo come poter effettuare la lettura e lo spacchettamento di un file zip. Ipotizziamo di avere un file zip sotto la directory download, vogliamo leggerlo e scompattarlo nella directory dove lanciamo la routine go. A questo punto creiamo una directory rdt con permessi di scrittura Infine scorriamo &hellip; <a href=\"http:\/\/www.valeriofinazzo.it\/wordpress\/2020\/10\/tutorial-golang-leggere-archivi\/\" class=\"more-link\">Continua la lettura di <span class=\"screen-reader-text\">TUTORIAL GOLANG &#8211; LEGGERE ARCHIVI<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[148],"tags":[132,147],"_links":{"self":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/645"}],"collection":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/comments?post=645"}],"version-history":[{"count":1,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/645\/revisions"}],"predecessor-version":[{"id":646,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/645\/revisions\/646"}],"wp:attachment":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/media?parent=645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/categories?post=645"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/tags?post=645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}