第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Go 的 archive/zip 創(chuàng)建帶有 Unicode 文件名的 zip 存檔

使用 Go 的 archive/zip 創(chuàng)建帶有 Unicode 文件名的 zip 存檔

Go
慕妹3242003 2021-10-04 15:57:48
package mainimport (    "archive/zip"    "fmt"    "io"    "os"    "path/filepath"    "strings")func main() {    var (        Path = os.Args[1]        Name = os.Args[2]    )    File, _ := os.Create(Name)    PS := strings.Split(Path, "\\")    PathName := strings.Join(PS[:len(PS)-1], "\\")    os.Chdir(PathName)    Path = PS[len(PS)-1]    defer File.Close()    Zip := zip.NewWriter(File)    defer Zip.Close()    walk := func(Path string, info os.FileInfo, err error) error {        if err != nil {            fmt.Println(err)            return err        }        if info.IsDir() {            return nil        }        Src, _ := os.Open(Path)        defer Src.Close()        fmt.Println(Path)        FileName, _ := Zip.Create(Path)        io.Copy(FileName, Src)        Zip.Flush()        return nil    }    if err := filepath.Walk(Path, walk); err != nil {        fmt.Println(err)    }}這個 mydir 路徑:-----root    |---2015-05(dir)         |---中文.go    |---package(dir)    |---你好.go當我使用這個代碼目錄時,中文會出現(xiàn)亂碼。誰能幫我解決問題。
查看完整描述

2 回答

?
不負相思意

TA貢獻1777條經(jīng)驗 獲得超10個贊

package main


import (

    "archive/zip"

    "fmt"

    "io"

    "os"

    "path/filepath"

    "strings"

)


func main() {

    var (

        Path = os.Args[1]

        Name = os.Args[2]

    )


    File, _ := os.Create(Name)

    PS := strings.Split(Path, "\\")

    PathName := strings.Join(PS[:len(PS)-1], "\\")

    os.Chdir(PathName)

    Path = PS[len(PS)-1]

    defer File.Close()

    Zip := zip.NewWriter(File)

    defer Zip.Close()

    walk := func(Path string, info os.FileInfo, err error) error {

        if err != nil {

            fmt.Println(err)

            return err

        }

        if info.IsDir() {

            return nil

        }

        Src, _ := os.Open(Path)

        defer Src.Close()

        //FileName, _ := Zip.Create(Path)

        h := &zip.FileHeader{Name: Path, Method: zip.Deflate, Flags: 0x800}

        FileName, _ := Zip.CreateHeader(h)

        io.Copy(FileName, Src)

        Zip.Flush()

        return nil

    }

    if err := filepath.Walk(Path, walk); err != nil {

        fmt.Println(err)

    }

}


查看完整回答
反對 回復 2021-10-04
  • 2 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號