上記の調査は、だいたいあってると思う。Languagehttps://msdn.microsoft.com/ja-jp/library/windows/desktop/gg258117(v=vs.85).aspxあ、これでいいのかも。data.FileAttributesすみません、dataっつーのは、更新日のところで説明しますが、fileInfo.Sys().(*syscall.Win32FileAttributeData).FileAttributesということです。ファイル所有者java.nio.file.attributeならファイル所有者の情報を取得できるらしい。goの場合、データをどこから抜いてくるのか発見できてない。できるんだろうか??そして、どうやって詰めるんだっけ・・・。zipにするときには詰められないように思える。7zには所有者情報は見えないし。zipのためには取得する必要はなさそうだ。これを実現するには、fileの情報をもとに、セキュリティ情報を拾って、その情報をもとにルックアップするイメージなんだろう。更新日時のみであれば、FileHeader#SetModTime(info.ModTime())で十分です。作成日時とアクセス日時は、FileHeaderのExtraを設定する必要がある。作成日時とアクセス日時は、FileInfoのSys()から取得する。以下の記事は参考になるでしょう。info.Sys().(*syscall.Win32FileAttributeData)これを使ってExtraに突っ込む。注意事項はリトルエンディアンであるということだ。いう[]byteになればいいのかは適宜バイナリエディタでzipファイルを比較確認するほうがいい。理屈的な形式は、ここが参考になったので是非ご覧いただきたい。https://opensource.apple.com/source/zip/zip-6/unzip/unzip/proginfo/extra.fldリトルエンディアンを簡単に扱うためには、"encoding/binary"パッケージのLittleEndianを使うほうが間違いがないが、bufの先頭から詰めてくるので、Extraのbyte配列に直接詰め込めない。data)とりあえず自分はこんな感じで書いた。序盤は自前でエンディアンを意識して書いたが、後半はbinaryパッケージを利用する関数を用意した。data.CreationTime.HighDateTime)あ、すみませんが、infoってのはFileInfoですよ。filepath.Walkを呼ぶので、WalkFuncを実装していて、引数でFileInfoが渡ってきます。ホストOS7zで言うところのホストOSは、FileHeaderのCreatorVersionに相当する。8意味不明な数字がでてくるでしょう。goのstructを見ると数字が解るので、それを8ビットシフトして使えばなんとかなる。java.nio.file.attributeで「所有者」情報が取れる。BlogNoticesArchive参加グループプログラミングはてなブログをはじめよう!kidotakaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。