Publié le 15/08/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Lire les proprietes d'un fichier

Quelque soit le systeme d'exploitation, les fichiers possèdent des propriétés que l'on peut visualiser. Dans l'explorateur Windows par exemple, le clic droit sur un élement ouvre une fenetre contenant le nom, la date et la taille du fichier.

Afficher la date, la taille et le type d'un fichier

Le langage JAVA intègre bien évidement la lecture des propriétés d'un fichier grâce à l'objet File. Nous avons regroupé les fonctions les plus courant dans un wrapper nommé FileProperty :
date au format dd/m/yyyy H:mm:ss,
taille au format xx Ko ou xx Mo,
type par exemple Image bitmap,
extension par exemple .bmp.

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JFileChooser;
 
/**
 * Lire les propriétés d'un fichier
 * http://www.fobec.com/java/965/lire-proprietes-fichier.html
 * @author Fobec 2010
 */
public class FileProperty {
 
    private File file = null;
 
    /**
     * Contructeur
     * @param filename dossier+nom du fichier
     */
    public FileProperty(String filename) {
        file = new File(filename);
    }
 
    /**
     * Lire la date du fichier
     * @return
     */
    public long getDate() {
        return this.file.lastModified();
    }
 
    /**
     * Afficher la date du fichier
     * @return date au format dd/m/yyyy H:mm:ss
     */
    public String getFormatedDate() {
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy H:mm:ss");
        Date d = new Date(this.file.lastModified());
        return sdf.format(d);
    }
 
    /**
     * Taille du fichier
     * @return unité byte
     */
    public Long getSize() {
        return this.file.length();
    }
 
    /**
     * Afficher la taille
     * @return taille au format xx Ko ou xx Mo
     */
    public String getFormatedSize() {
        int size = (int) (this.file.length() / 1024) + 1;
        if (size > 1024) {
            return (size / 1024) + " Mo";
        } else {
            return size + " ko";
        }
    }
 
    /**
     * Type du fichier
     * @return par exemple Image bitmap
     */
    public String getType() {
        JFileChooser chooser = new JFileChooser();
        return chooser.getTypeDescription(this.file);
    }
 
    /**
     * Extraire l'extension du fichier
     * @param filename
     * @return format .xxx
     */
    public static String getFileExt(String filename) {
        int pos = filename.lastIndexOf(".");
        if (pos > -1) {
            return filename.substring(pos);
        } else {
            return filename;
        }
    }    
}

Lire les propriétés d'un fichier

Pour illustrer les fonctions de la class, voyons comment afficher la date, la taille et le type d'un fichier.
/**
* Exemple de propriété du fichier monimage.bmp
* @param args
*/
public static void main(String[] args) {
  String file = "C:fichierlog.txt";
  FileProperty fileProperty = new FileProperty(file);
  System.out.println("Propriété du fichier: " + file);
  System.out.println("Date: " + fileProperty.getFormatedDate());
  System.out.println("Taille: " + fileProperty.getFormatedSize());
  System.out.println("Type: " + fileProperty.getType());
  System.out.println("Extension: " + FileProperty.getFileExt(file));
}

Dans la console Java, les informations sont affichées ainsi:
Propriété du fichier: C:fichierlog.txt
Date: 18/03/2015 18:11:38
Taille: 1 ko
Type: Document texte
Extension: .txt

La class File en Java est importante et permet de réaliser de nombreuses opérations. Voici une des possibilités à savoir la lecture des propriétés d'un fichier comme dans l'explorateur Windows.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
15/08/2010
Visualisation
vu 7396 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par sakhr dans tuto

merci b c pour les plusieurs tailles d'images

Publié par nico dans java

Petite erreur constate.
Apparemment il faut remplacer :
&mailTo = &?body=Envoyer un email avec Java
par &mailTo = < et commercial sans '<' et '>' &body=Envoyer un email avec Java

Publié par luckyboy dans CMS

ont voir rien pas de code!!!!

Publié par Fred dans tuto

J'suis d'accord avec Do, PHP est deja un moteur de template.
Disons que le moteur de template permet de separer le code de la vue pour les debutants qui ont besoin qu'on leur impose des bornes...

Publié par OmegaPlatypus dans java

Dans mon cas, plusieurs lettres etaient repetes plusieurs fois, dont la derniere a l'indfiniment. En ajoutant robot.keyReleaseKeyEvent.VK_A, robot.keyReleaseKeyEvent.VK_X, etc. apres chacune des frap...