0

jarファイルのコンテンツを参照できるダイアログを探しています(または、ファイルシステムを参照してからjarファイルにアクセスできるようにすることもできます)。

理想的には、ダイアログはjarのクラスローダーと選択したリソースのURLを返す必要があります。

誰かがそれを行うためのサンプルコードを教えてもらえますか?

ありがとう

4

2 に答える 2

1

ZIP/JAR ファイルに入り、この実装をコンストラクターFileSystemViewに渡すことができる、所有する実装が必要です。JFileChooser詳細が必要な場合は、お気軽に質問してください。

于 2013-02-15T14:12:36.103 に答える
-1

JAR は基本的に zip ファイルです。Java の標準 ZIP ライブラリで開くことができます。

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class JarAccess
{
   public static void main(String[] args) throws IOException
   {
      if (args.length != 1)
      {
         System.err.println("usage: java JarAccess name_or_your_jar.jar");
         return;
      }
      try (ZipInputStream zis =
              new ZipInputStream(new FileInputStream(args[0])))
      {
         byte[] buffer = new byte[4096];
         ZipEntry ze;
         while ((ze = zis.getNextEntry()) != null)
         {
            System.out.println("Extracting: "+ze);
            try (FileOutputStream fos = new FileOutputStream(ze.getName()))
            {
               int numBytes;
               while ((numBytes = zis.read(buffer, 0, buffer.length)) != -1)
                  fos.write(buffer, 0, numBytes);
            }
            zis.closeEntry();
         }
      }
   }
}

ソース

(コードはテストされていませんが、論理的には動作するはずです)

于 2013-02-15T13:11:41.457 に答える