投稿数 - 112, コメント - 212, トラックバック - 17

Zipファイルを扱う

とりあえずJ# .NET クラスライブラリがインストールされているのを前提にします。

上記クラスライブラリを参照設定して、

Imports java.util.zip

    'ZIPファイル保持変数
    Private m_CurrentFile As ZipFile

    '------------------------------------------------------------
    '対象ZIPファイルをリストビューに展開表示
    '------------------------------------------------------------
    Private Sub DisplayZipEntries()

        Dim enmEntrie As java.util.Enumeration
        Dim entrie As ZipEntry

        enmEntrie = m_CurrentFile.entries

        'リストビュー描画一時停止
        lvwZipFiles.BeginUpdate()
        'リストビューアイテムクリアー
        lvwZipFiles.Items.Clear()

        'ZIPファイル内のアイテム列挙
        Do While (enmEntrie.hasMoreElements = True)
            entrie = enmEntrie.nextElement
            If (entrie.isDirectory = True) Then
                'フォルダの場合
            Else
                'ファイルの場合
                Dim item As New ListViewItem(System.IO.Path.GetFileName(entrie.getName))
                item.SubItems.Add(entrie.getSize().ToString())
                item.SubItems.Add(entrie.getCompressedSize().ToString())
                item.SubItems.Add(System.IO.Path.GetDirectoryName(entrie.getName))
                'リストビューアイテム追加
                lvwZipFiles.Items.Add(item)
            End If
        Loop

        'リストビュー描画再開
        lvwZipFiles.EndUpdate()

    End Sub

    '------------------------------------------------------------
    'ファイルを開く
    '------------------------------------------------------------
    Private Sub mnuFile_Open_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuFile_Open.Click
        If (zipOpenFileDialog.ShowDialog = DialogResult.OK) Then
            m_CurrentFile = New ZipFile(zipOpenFileDialog.FileName)
            Call DisplayZipEntries()
        End If
    End Sub

    '------------------------------------------------------------
    '終了する
    '------------------------------------------------------------
    Private Sub mnuFile_Exit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuFile_Exit.Click
        Me.Close()
    End Sub

やっぱり、VB.NETよりするもんじゃないな。

投稿日時 : 2005年2月10日 17:20

フィードバック

# re: Zipファイルを扱う

一緒に、MSMVP for J# でも目指しませんか? (w
2005/02/10 19:58 | じゃんぬねっと

# re: Zipファイルを扱う

今は、MSMVP for VBを目指してま~す。
じゃんぬねっとさんなら、VB,C#,J#どれでもいけそうですね。
2005/02/10 21:00 | うなまな

# re: Zipファイルを扱う

わ、私だけなのね (^-^;)

# C++/CLI にも手を出すとわけわからんくなりそうですね。
2005/02/14 20:05 | じゃんぬねっと

# re: Zipファイルを扱う

VB.NETから圧縮した事がありますが、面倒でした……。
http://yaplog.jp/orator/archive/18

JAVAを触った事が無いので、妙なコードになってるかも。
2005/02/17 12:58 | 魔界の仮面弁士

コメントの投稿

タイトル  
名前  
URL
コメント