src/share/classes/sun/net/www/MimeTable.java

Print this page

        

@@ -220,45 +220,35 @@
     // For backward compatibility -- mailcap format files
     // This is not currently used, but may in the future when we add ability
     // to read BOTH the properties format and the mailcap format.
     protected static String[] mailcapLocations;
 
+    private static final String DEFAULT_FILE =
+            "/sun/net/www/content-types.properties";
+
     public synchronized void load() {
         Properties entries = new Properties();
         File file = null;
         try {
             InputStream is;
             // First try to load the user-specific table, if it exists
             String userTablePath =
                 System.getProperty("content.types.user.table");
-            if (userTablePath != null) {
-                file = new File(userTablePath);
-                if (!file.exists()) {
-                    // No user-table, try to load the default built-in table.
-                    file = new File(System.getProperty("java.home") +
-                                    File.separator +
-                                    "lib" +
-                                    File.separator +
-                                    "content-types.properties");
-                }
+            if (userTablePath != null && (file = new File(userTablePath)).exists()) {
+                is = new BufferedInputStream(new FileInputStream(file));
+            } else {
+                if ((is = MimeTable.class.getResourceAsStream(DEFAULT_FILE)) == null) {
+                    System.err.println("Warning: default mime table not found.");
+                    return;
             }
-            else {
-                // No user table, try to load the default built-in table.
-                file = new File(System.getProperty("java.home") +
-                                File.separator +
-                                "lib" +
-                                File.separator +
-                                "content-types.properties");
+                is = new BufferedInputStream(is);
             }
-
-            is = new BufferedInputStream(new FileInputStream(file));
             entries.load(is);
             is.close();
-        }
-        catch (IOException e) {
-            System.err.println("Warning: default mime table not found: " +
-                               file.getPath());
+        } catch (IOException e) {
+            System.err.println("Warning: " + file != null ? file.getPath() : "default"
+                               + " mime table not found.");
             return;
         }
         parse(entries);
     }
 

@@ -378,22 +368,10 @@
         }
 
         return MimeEntry.UNKNOWN;
     }
 
-    public synchronized boolean save(String filename) {
-        if (filename == null) {
-            filename = System.getProperty("user.home" +
-                                          File.separator +
-                                          "lib" +
-                                          File.separator +
-                                          "content-types.properties");
-        }
-
-        return saveAsProperties(new File(filename));
-    }
-
     public Properties getAsProperties() {
         Properties properties = new Properties();
         Enumeration<MimeEntry> e = elements();
         while (e.hasMoreElements()) {
             MimeEntry entry = e.nextElement();