Index: src/main/java/org/apache/commons/compress/archivers/zip/UnsupportedZipFeatureException.java
===================================================================
--- src/main/java/org/apache/commons/compress/archivers/zip/UnsupportedZipFeatureException.java	(revision 1353096)
+++ src/main/java/org/apache/commons/compress/archivers/zip/UnsupportedZipFeatureException.java	(working copy)
@@ -45,6 +45,20 @@
     }
 
     /**
+     * Creates an exception.
+     * @param reason the ZipMethod that is not supported
+     * @param entry the entry using the feature
+     */
+    public UnsupportedZipFeatureException(ZipMethod reason,
+            ZipArchiveEntry entry) {
+			super("unsupported feature method " + reason.getDescription() +  " used in entry "
+			+ entry.getName());
+			this.reason = Feature.METHOD;
+			this.entry = entry;
+	}
+
+
+    /**
      * The unsupported feature that has been used.
      */
     public Feature getFeature() {
Index: src/main/java/org/apache/commons/compress/archivers/zip/ZipUtil.java
===================================================================
--- src/main/java/org/apache/commons/compress/archivers/zip/ZipUtil.java	(revision 1353111)
+++ src/main/java/org/apache/commons/compress/archivers/zip/ZipUtil.java	(working copy)
@@ -226,8 +226,8 @@
         }
         if (!supportsMethodOf(ze)) {
             throw
-                new UnsupportedZipFeatureException(UnsupportedZipFeatureException
-                                                   .Feature.METHOD, ze);
+            	new UnsupportedZipFeatureException(
+            			ZipMethod.getMethodByCode(ze.getMethod()), ze);
         }
     }
 }
\ No newline at end of file
Index: src/main/java/org/apache/commons/compress/archivers/zip/ZipMethod.java
===================================================================
--- src/main/java/org/apache/commons/compress/archivers/zip/ZipMethod.java	(revision 0)
+++ src/main/java/org/apache/commons/compress/archivers/zip/ZipMethod.java	(revision 0)
@@ -0,0 +1,157 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+package org.apache.commons.compress.archivers.zip;
+
+import java.util.zip.ZipEntry;
+
+/**
+ * List of known compression methods 
+ * 
+ * Many of these methods are currently not supported by commons compress
+ * 
+ * @author hkuhn
+ */
+public class ZipMethod {
+
+	/**
+     * Compression method 0 for uncompressed entries.
+     * 
+     * @see ZipEntry#STORED
+     */
+	public static ZipMethod STORED = new ZipMethod(ZipEntry.STORED, "STORED");
+
+    /**
+     * Compression method 8 for compressed (deflated) entries.
+     * 
+     * @see ZipEntry#DEFLATED
+     */
+	
+	public static ZipMethod DEFLATED = new ZipMethod(ZipEntry.DEFLATED, "DEFLATED");
+
+	/**
+     * Compression Method 9 for enhanced deflate
+     * 
+     * @see http://www.winzip.com/wz54.htm
+     */
+	public static ZipMethod ENHANCED_DEFLATED = new ZipMethod(9, "ENHANCED_DEFLATED");
+     
+    /**
+     * Compression Method 12 for bzip2
+     * 
+     * @see http://www.winzip.com/wz54.htm
+     */
+	public static ZipMethod BZIP2 = new ZipMethod(12, "BZIP2");
+
+	/**
+     * Compression Method 14 for LZMA
+     * 
+     * @see http://www.winzip.com/wz54.htm
+     */
+	public static ZipMethod LZMA = new ZipMethod(14, "LZMA");
+	
+
+    /**
+     * Compression Method 96 for Jpeg compression 
+     * 
+     * @see http://www.winzip.com/wz54.htm
+     */
+    public static ZipMethod JPEG = new ZipMethod(96, "JPEG");
+    
+    /**
+     * Compression Method 97 for WavPack
+     * 
+     * @see http://www.winzip.com/wz54.htm
+     */
+    public static ZipMethod WAVPACK = new ZipMethod(97, "WAVPACK");
+    
+    /**
+     * Compression Method 98 for PPMd
+     * 
+     * @see http://www.winzip.com/wz54.htm
+     */
+    public static ZipMethod PPMD = new ZipMethod(98, "PPMD");
+    
+    
+    /**
+     * Compression Method 99 for AES encryption
+     * 
+     * @see http://www.winzip.com/wz54.htm
+     */
+    public static ZipMethod AES_ENCRYPTED = new ZipMethod(99, "AES_ENCRYPTED");
+    
+	
+	private int code;
+	private String description;
+	
+	/**
+	 * private constructor for enum style class
+	 */
+	private ZipMethod(int code, String description) {
+		this.code = code;
+		this.description = description;
+	}
+	
+	/**
+	 * the code of the compression method
+	 * 
+	 * @see ZipArchiveEntry#getMethod()
+	 * 
+	 * @return an integer code for the method
+	 */
+    public int getCode() {
+		return code;
+	}
+
+    /**
+     * a short description or the name of the method 
+     * 
+     * @return a short description or the name of the method
+     */
+	public String getDescription() {
+		return description;
+	}
+
+	/**
+	 * returns the {@link ZipMethod} for the given code or null if the method is not known
+	 */
+	public static ZipMethod getMethodByCode(int code) {
+		switch (code) {
+			case 0:
+				return ZipMethod.STORED;
+			case 8: 
+				return ZipMethod.DEFLATED;
+			case 9: 
+				return ZipMethod.ENHANCED_DEFLATED;
+			case 12: 
+				return ZipMethod.BZIP2;
+			case 14: 
+				return ZipMethod.LZMA;
+			case 96: 
+				return ZipMethod.JPEG;
+			case 97: 
+				return ZipMethod.WAVPACK;
+			case 98: 
+				return ZipMethod.PPMD;
+			case 99: 
+				return ZipMethod.AES_ENCRYPTED;
+			default:
+				break;
+		}
+		return new ZipMethod(code, "UNKNOWN");
+	}
+}
\ No newline at end of file
