IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Axes De Recherche Pour Commencer un Projet


Sujet :

avec Java

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Axes De Recherche Pour Commencer un Projet
    Bonjour à tous!
    Etant étudiant en informatique, on m'a confié un projet JAVA qui consiste à réaliser un navigateur Multimédia sous console et graphique qui doit reconnaitre des types de fichiers et exécuter des applications par clic.
    J'ai commencer à coder et j'arrive a lister, lancer des appli mais je n'arrive pas reconnaitre les types fichiers.
    Je sais que la chaine Magic contient ces données.
    En gros,
    je dois modéliser une chaine magic sous forme d'ensemble de couples (emplacement, chaine de caractère) mais je ne vois pas comment accéder au fichier à l'aide d'une classe pour regarder la chaine magic à un octet précis.

    Je ne sais pas si je me suis exprimé clairement?
    Merci d'avance pour vos axes de recherche
    cordialement,Thibaut

  2. #2
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Avec un InputStream tu peux lire un octet ou une suite d'octets où tu veux dans un fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    	public boolean isJPEG(File file) throws IOException {
     
    		if(file == null || file.length() < 4) return false;
     
    		InputStream in = new FileInputStream(file);
     
    		boolean result = false;
     
    		if(in.read() == 0xFF && in.read() == 0xD8) {
    			in.skip(file.length() - 4);
    			result = in.read() == 0xFF && in.read() == 0xD9;
    		}
     
    		in.close();
     
    		return result;
    	}

  3. #3
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonjour!
    Merci pour cette réponse claire et concise!
    Je vais l'integrer dans mon code et continuer.
    Merci encore!

  4. #4
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,
    je relance le sujet car j'ai besoin d'en savoir plus!
    La question que je me pose est de savoir comment savoir que 0xFF et 0XD8 sont les octets correspondant à un fichier JPEG.
    Ce que je veux dire c'est comment je fais si je veux mettre en string une suite d'octet afin de dire celui là est un Texte, un Bmp etc...
    J'ai quasiment fini la totalité de mon prog, mais la reconnaissance du type me bloque vraiment...
    Merci pour votre aide.

  5. #5
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Je réponds ici à ton MP :
    Citation Envoyé par Thibaut78
    Bonjour,
    Apres avoir testé ton code. je n'ai pas reussi à l'executer mais j'aimerai savoir comment mettre un InputStream en String.
    j'avoue que je bloque sur cette classe et c'est la base du navigateur que je dois réaliser...
    "Apres avoir testé ton code. je n'ai pas reussi à l'executer" Qu'elle est l'erreur ?

    Pour transformer un InputStream en un flux de caractères il faut passer par un InputStreamReader.
    Maintenant si tu souhaites juste accéder à tes données en mode caractère un Reader suffit.


    comment savoir que 0xFF et 0XD8 sont les octets correspondant à un fichier JPEG.
    Grâce à la doc wikipedia par exemple.

    comment je fais si je veux mettre en string une suite d'octet afin de dire celui là est un Texte, un Bmp
    Je ne comprends pas l'utilité de passer par une String pour déterminer le type d'un fichier (j'aimerais bien voir une String qui contient un BMP )
    Pour déterminer le type d'un fichier il existe :
    - l'extention du nom du fichier (.txt, .jpeg, ...)
    - le magic number
    - dans certains cas (protocole http par exemple) le mime type

  6. #6
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Enfait, il était un peu tard ^_^
    La versiion du code précédente marche très bien. je dois la recréer pour la plupart des type magic.
    Si j'ai ben compros, pour acceder à ces données, je dois juster utiliser un reader?
    Je vais essayer ça et je posterai

  7. #7
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonjour!
    J'ai reussi à coder ma methode,

    public static void main(String[] args) {
    String chemin = "C:\\TEST\\testimg.jpg";
    File f = new File(chemin);
    if(f.exists()){
    System.out.println("Le fichier existe");
    try{
    BufferedReader entree = new BufferedReader(new FileReader(chemin));
    String s = entree.readLine();
    System.out.println("Lu : "+s);
    }
    catch(IOException e){
    System.out.println("IOexeption");
    }
    }
    else
    System.out.println("Le fichier n'existe pas");
    }

    }

    maintenant me reste plus qu'a faire un test d'égalité sur le début de la string, j'avais bien pensé à un CompareToIgnoreCase mais ça ne marche pas.
    Je cherche toujours

  8. #8
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Je ne comprends pas pourquoi tu passes par un Reader pour lire un JPEG, ça n'a aucun sens, un fichier JPEG est un fichier binaire ???

  9. #9
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Je ne veux pas lire un JPEG, je veux juste comparer le début bufferedReader pour determiner si c'est un JPEG, ID3 pour un MP3 etc...
    En gros, je dois réaliser la methode isJPEG() mais pour une vingtaine de type de fichier.
    En utilisant le code précédent, en passant n'importe quel fichier en paramètre.

    Par exemple, lorsqu'un fichier MP3 est passé en parametre, il y a la chaine magic ID3 en début du buffer. etc...

  10. #10
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String chemin = "C:\\TEST\\testimg.jpg";
    BufferedReader entree = new BufferedReader(new FileReader(chemin));
    String s = entree.readLine();
    Si tu es sûr de ton coup, la chance sourit (parfois) aux audacieux...

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/05/2009, 17h05
  2. Recherche d'exemples sur Twain pour commencer
    Par SoftAbdou dans le forum Composants VCL
    Réponses: 4
    Dernier message: 13/10/2008, 14h17
  3. Réponses: 2
    Dernier message: 14/08/2008, 12h20
  4. Les Outils Necessaires pour bien commencer un projet
    Par verbal34 dans le forum Général Dotnet
    Réponses: 8
    Dernier message: 26/06/2008, 09h45
  5. Besoin de directions de recherches pour mon projet.
    Par RudyWI dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 19/12/2007, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo