001: /**
002: * <p>
003: * Title: Connection
004: * </p>
005: *
006: * <p>
007: * Description: Represente une entite texte (extenson txt par ex)
008: * </p>
009: *
010: * <p>
011: * Copyright: Copyright (c) 2005
012: * </p>
013: *
014: * commentaire inutile
015: *
016: * <p>
017: * Company:
018: * </p>
019: *
020: * @author Adlani Anouar - Detante Antoine - Klein Gregory - Pepin Pierre
021: * @version 1.0
022: */package httpserver;
023:
024: import java.io.*;
025: import java.util.Date;
026:
027: public class EntiteText extends EntiteHTTP {
028: // contenu de l'entité
029: protected String contenuEntite;
030:
031: /**
032: * Créer une instance de EntiteText vide
033: */
034: public EntiteText() {
035: super .type = "text";
036: }
037:
038: /**
039: * Créer une instance de EntiteText
040: * @param contenuEntite String contenu de l'entité
041: */
042: public EntiteText(String contenuEntite) {
043: super .type = "text";
044: this .contenuEntite = contenuEntite;
045: }
046:
047: /**
048: * Remplit le contenu de l'entité selon le fichier demandé par le client
049: * @param nomFichier String le nom du fichier
050: * @return EntiteText entité texte
051: * @throws IOException en cas d'erreur d'accès au fichier
052: */
053: public static EntiteText getFromFile(String nomFichier)
054: throws IOException {
055: File fichier = new File(nomFichier);
056: FileInputStream fileInput = new FileInputStream(fichier);
057: byte buffer[] = new byte[fileInput.available()];
058: fileInput.read(buffer);
059: String contenu = new String(buffer);
060: return (new EntiteText(contenu));
061: }
062:
063: /**
064: * Permet d'avoir le conteu de l'entité sous forme de
065: * @return String le contenu de l'entité
066: */
067: public String toString() {
068: return contenuEntite;
069: }
070:
071: /**
072: * Méthode qui permet d'envoyer le contenu de l'entité au client
073: * @param poutput PrintWriter flux d'ecriture pour le client
074: * @throws IOException en cas de problème d'ecriture
075: */
076: public void envoyerEntite(PrintWriter poutput) throws IOException {
077: poutput.println(this .contenuEntite);
078: }
079:
080: /**
081: * Méthode qui permet d'avoir l'entête entité
082: * @param nomFichier String nom du fichier
083: * @return EnteteEntite l'entete entité
084: */
085: public EnteteEntite getEnteteEntite(String nomFichier) {
086: EnteteEntite entete = new EnteteEntite();
087: File fichier = new File(nomFichier);
088: int fileLength = 0;
089: long dateModif;
090: String dateStr;
091: try {
092: fileLength = (int) fichier.length();
093: dateModif = fichier.lastModified();
094: Date date = new Date(dateModif);
095: dateStr = new String(date.toGMTString());
096: entete.setContentLength("" + fileLength);
097: entete.setLastModified(dateStr);
098: } catch (SecurityException e) {
099:
100: }
101: entete.setAllow("GET, HEAD");
102: return entete;
103: }
104:
105: }
|