001: /**
002: * <p>
003: * Title: RequeteHTTP
004: * </p>
005: *
006: * <p>
007: * Description: Represente les types mimes existant
008: * </p>
009: *
010: * <p>
011: * Copyright: Copyright (c) 2005
012: * </p>
013: *
014: * <p>
015: * Company:
016: * </p>
017: *
018: * @author Adlani Anouar - Detante Antoine - Klein Gregory - Pepin Pierre
019: * @version 1.0
020: */package httpserver;
021:
022: import java.util.*;
023: import java.io.*;
024:
025: public class Typesmime {
026:
027: /**
028: * Fichier de propriete contenant les types mime
029: */
030: private Properties types;
031: private String fileName;
032:
033: /**
034: * constructeur par defaut
035: * @throws FileNotFoundException
036: * @throws IOException
037: */
038: public Typesmime() throws FileNotFoundException, IOException {
039: this .fileName = new String("TypesMime");
040: this .types = new Properties();
041: this .chargeTypes();
042: }
043:
044: public Typesmime(String fileName) throws FileNotFoundException,
045: IOException {
046: this .types = new Properties();
047: this .fileName = fileName;
048: this .chargeTypes();
049: }
050:
051: public String getFileName() {
052: return this .fileName;
053: }
054:
055: /**
056: * Charge le fichier de proprieté Types mimes
057: * @throws FileNotFoundException
058: * @throws IOException
059: */
060: public void chargeTypes() throws FileNotFoundException, IOException {
061: this .types.load(new FileInputStream(new File(this .fileName)));
062: return;
063: }
064:
065: /**
066: * Renvoie le type correspondant a l'extension passer en parametre
067: * @param extension l'extension de la ressource (ex: "txt", "jpg")
068: * @return le type
069: */
070: public String extensionAType(String extension) {
071: String type = null;
072: type = this .types.getProperty(extension);
073: if (type == null)
074: type = "unknown type";
075: return type;
076: }
077:
078: /**
079: * Renvoie l'extension de la ressource passéé en parametre
080: * @param s
081: * @return
082: */
083: public String rendreExtension(String s) {
084: int pSlash = s.lastIndexOf("/");
085: int pPoint = s.lastIndexOf(".");
086: String extension = "";
087: if (pPoint > pSlash)
088: extension = s.substring(pPoint + 1);
089: return extension;
090: }
091:
092: /**
093: * Converti le chemin vers la ressource en chemin vers le fichier
094: * @param s
095: * @return
096: */
097: public String resourceAFichier(String s) {
098: return s.replace('/', System.getProperty("file.separator")
099: .charAt(0));
100: }
101:
102: /**
103: * Converti le chemin vers le fichier en chemin vers la ressource
104: * @param s
105: * @return
106: */
107: public String fichierARessource(String s) {
108: return s.replace(
109: System.getProperty("file.separator").charAt(0), '/');
110: }
111:
112: }
|