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 7393 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Djrac dans tuto

Bjr.
J'ai essaye ce code mais en cliquant sur f5 il me donne un autre temps d'execution malgre qu'il s'agit du meme page PHP. Je comprends pas ou il est le probleme.
Merci de m...

Publié par Yannick dans tuto

Sur un de mes sites j'ai vraiment du mal a gerer le gzip sur 1and1, Je vais tout de suite tester tout ca et je vous tiens informe :)

Publié par hilflo dans tuto

Tres bon article qui montre bien les subtilites des mutualises de 1and1.
Je l'ai utilise pour un de mes sites en y ajoutant de l'url rewriting pour eviter d'avoir des parametres dans l'url avec cet...

Publié par Adresse IP dans news

Je cherche un moyen pour afficher une correspondance entre adresse IPv4 et adresse IPv6 sans possibilite d'installer le protocole ipv6. Comment faire J'ai vu qu'il existait des possibilites de faire...

Publié par adilo dans CMS

merci d\'avance monsieur le precedant