package gnu.gcj.io;
import java.util.*;
import java.io.*;
public class MimeTypes
{
private static Hashtable mime_types;
public static void fillFromFile (Hashtable table, String fname)
throws IOException
{
LineNumberReader reader =
new LineNumberReader (new FileReader (fname));
while (reader.ready ())
{
StringTokenizer tokenizer =
new StringTokenizer (reader.readLine ());
try
{
String t = tokenizer.nextToken ();
if (! t.startsWith ("#"))
{
while (true)
{
String e = tokenizer.nextToken ();
if ((e != null) && (! e.startsWith ("#")))
table.put (e, t);
else
break;
}
}
} catch (NoSuchElementException ex) {
}
}
}
public static String getMimeTypeFromExtension (String extension)
{
if (mime_types == null)
{
mime_types = new Hashtable ();
int i = DefaultMimeTypes.types.length;
while (i > 1)
{
mime_types.put (DefaultMimeTypes.types[i - 2],
DefaultMimeTypes.types[i - 1]);
i = i - 2;
}
try {
fillFromFile (mime_types, "/etc/mime.types");
} catch (IOException ex) {
}
}
String type = (String) mime_types.get (extension);
if (type == null)
return ("application/octet-stream");
else
return (type);
}
}