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

Publié par winspiral dans logiciel

pas mal comme outil...bravo

Publié par taoufik dans CMS

merci cest un bon logiciel

Publié par math dans java

Salut, quelle est la modification a faire pour pouvoir utiliser une webcam usb qui n'est pas une logitech?

Publié par bakouz dans java

Bonjour Axel,
je suis tombe sur ton site un peu par hasard.
Hasard car je ne le connaissais pas jusqu'a maintenant, et non du hasard car c'est exactement ce genre de class que je recherchais. !...

Publié par Tchat dans news

Analyses interessantes.
J'ai constate aussi des comportements etranges de Google concernant les placements des sites sur leurs requetes.
Par contre j'ai remarque que Google ne tient pl...