yacy_search_server/source/de/anomic/data/MimeTable.java
orbiter 11639aef35 - added new protocol loader for 'file'-type URLs
- it is now possible to crawl the local file system with an intranet peer
- redesign of URL handling
- refactoring: created LGPLed package cora: 'content retrieval api' which may be used externally by other applications without yacy core elements because it has no dependencies to other parts of yacy

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6902 6c8d7289-2bf4-0310-a012-ef5d649a1542
2010-05-25 12:54:57 +00:00

53 lines
1.6 KiB
Java

package de.anomic.data;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
import net.yacy.cora.document.MultiProtocolURI;
public class MimeTable {
private static final Properties mimeTable = new Properties();
public static void init(final File mimeFile) {
if (mimeTable.isEmpty()) {
// load the mime table
BufferedInputStream mimeTableInputStream = null;
try {
mimeTableInputStream = new BufferedInputStream(new FileInputStream(mimeFile));
mimeTable.load(mimeTableInputStream);
} catch (final Exception e) {
e.printStackTrace();
} finally {
if (mimeTableInputStream != null) try { mimeTableInputStream.close(); } catch (final Exception e1) {}
}
}
}
public static int size() {
return mimeTable.size();
}
public static boolean isEmpty() {
return mimeTable.isEmpty();
}
public static String ext2mime(final String ext) {
return mimeTable.getProperty(ext, "application/" + ext);
}
public static String ext2mime(final String ext, final String dfltMime) {
return mimeTable.getProperty(ext, dfltMime);
}
public static String url2mime(final MultiProtocolURI url, final String dfltMime) {
return ext2mime(url.getFileExtension(), dfltMime);
}
public static String url2mime(final MultiProtocolURI url) {
return ext2mime(url.getFileExtension());
}
}