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

Publié par nel23fx dans java

Bravo pour ces tuto/sources c'est simple et efficasse

Publié par Tactic Rayan dans java

Merci beaucoup, c'est tres interressent, tres longtemps que j'ai recherche ce code

Publié par Fobec dans php5

Bonjour,
vous pouvez poster un message sur le forum, la communaut vous donnera un coup de main pour la mise en place du script.

Publié par liomka dans java

Merci! C'étais l'exemple parfait donc j'avais besoin pour apprendre la programmation Client/Serveur en Java ;)

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...