java-callgraph

Details

diff --git a/src/main/java/gr/gousiosg/javacg/stat/JCallGraph.java b/src/main/java/gr/gousiosg/javacg/stat/JCallGraph.java
index 4d19408..4b5422b 100644
--- a/src/main/java/gr/gousiosg/javacg/stat/JCallGraph.java
+++ b/src/main/java/gr/gousiosg/javacg/stat/JCallGraph.java
@@ -51,26 +51,26 @@ public class JCallGraph {
             for (String arg : args) {
 
                 File f = new File(arg);
-                
+
                 if (!f.exists()) {
                     System.err.println("Jar file " + arg + " does not exist");
                 }
-                
-                JarFile jar = new JarFile(f);
-
-                Enumeration<JarEntry> entries = jar.entries();
-                while (entries.hasMoreElements()) {
-                    JarEntry entry = entries.nextElement();
-                    if (entry.isDirectory())
-                        continue;
 
-                    if (!entry.getName().endsWith(".class"))
-                        continue;
+                try (JarFile jar = new JarFile(f)) {
+                	Enumeration<JarEntry> entries = jar.entries();
+                	while (entries.hasMoreElements()) {
+                		JarEntry entry = entries.nextElement();
+                		if (entry.isDirectory())
+                			continue;
+                		
+                		if (!entry.getName().endsWith(".class"))
+                			continue;
 
-                    cp = new ClassParser(arg,entry.getName());
-                    ClassVisitor visitor = new ClassVisitor(cp.parse());
-                    visitor.start();
-                }
+                		cp = new ClassParser(arg,entry.getName());
+                		ClassVisitor visitor = new ClassVisitor(cp.parse());
+                		visitor.start();
+                	}
+				}
             }
         } catch (IOException e) {
             System.err.println("Error while processing jar: " + e.getMessage());