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

Publié par Amal dans tuto

pour moi j'ai créé une liste déroulante en liaisant avec la base de donnée déja existant mais la valeur sélectionné ne peut pas etre afficher jamais et...

Publié par dotnet dans php5

Cette interface est intéressant par le fait qu'elle soit universelle, donc son intérêt pour moi est qu'elle permet l'accès aux bases de données Microsoft SQL Server....

Publié par max dans java

est que ce framework fonctionne pour une application web ?

Publié par dinet dans CMS

merci, chokran, thank you

Publié par inf0mag dans news

Et avec les objets connectes, a va encore exploser !