Viewing contents of a JAR File

This section shows you how you can read the content of jar file from your java program and list the content.

Viewing contents of a JAR File

This section shows you how you can read the content of jar file from your java program and list the content.

Viewing contents of a JAR File

Viewing contents of a JAR File

     

This section shows you how you can read the content of jar file from your java program and list the content. This section helps you to view the contents of the jar file without extracting it. You can easily understand about the jar file operation through the given example.

Program Result:

This program takes takes a jar file name which has to be viewed. It shows the contents of the given jar file without extracting. It also shows the jar file content, a default manifest file, META-INF/MANIFEST.MF. The default manifest file is automatically placed in the archive in the creation of the jar file.

Code Description:

Enumeration:
This is the interface helps to generate a series of elements. You can check for the availability of the next element by using the
hasMoreElements() method. The nextElement() method of the interface returns the next element of the series of the elements.

Here is the code of the program:

import java.util.*;
import java.util.jar.*;
import java.util.zip.*;
import java.io.*;

public class JarContents{
  public static void main(String[] argsthrows IOException{
  JarContents mc = new JarContents();
  }
  
  public JarContents() throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  System.out.print("Enter jar file name: ");
  String filename = in.readLine();
  File file = new File(filename);
  if(!filename.endsWith(".jar")){
  System.out.println("Invalid file name!");
  System.exit(0);
  }
  else if(!file.exists()){
  System.out.println("File not exist!");
  System.exit(0);
  }
  
  try{
  JarFile jarfile = new JarFile(filename);
  Enumeration em = jarfile.entries();
  for (Enumeration em1 = jarfile.entries(); em1.hasMoreElements();) {
  System.out.println(em1.nextElement());
  }
  }
  catch(ZipException ze){
  System.out.println(ze.getMessage());
  System.exit(0);
  }
  }
}

Download this example.