IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Extraire la date de création d'un fichier distant


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 30
    Points
    30
    Par défaut Extraire la date de création d'un fichier distant
    Bonjour je veux extraire la date de création d'un fichier localisé dans un serveur distant, je peux extraire la date de dernière modification mais j'ai besoin de la date de création du fichier :

    voici mon code mais la bibliotheque que j'utilise ne permet d'extraire que la date de la date de dernière modification. est ce qu'il ya un autre moyen pour faire cela?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
     import com.jcraft.jsch.Channel;
        import com.jcraft.jsch.ChannelSftp;
        import com.jcraft.jsch.JSch;
        import com.jcraft.jsch.JSchException;
        import com.jcraft.jsch.Session;
        import com.jcraft.jsch.SftpException;
        import java.text.DateFormat;
        import java.text.ParseException;
        import java.text.SimpleDateFormat;
        import java.util.Calendar;
        import java.util.Date;
     
     public class mytest {
     
     
            public static void main(String args[]) throws ParseException {
     
                //===============================================================
                String hostname = "10.10.11.19";
                String username = "root";
                String password = "passwword";
                String remoteFile = "/opt/test_pyt/teeeeeeest.txt"
                String copyTo = "/home/desk/Desktop";
                JSch jsch = new JSch();
                Session session = null;
                System.out.println("Trying to connect.....");
                try {
                    session = jsch.getSession(username, hostname, 22);
                    session.setConfig("StrictHostKeyChecking", "no");
                    session.setPassword(password);
                    session.connect();
                    Channel channel = session.openChannel("sftp");
                    channel.connect();
                    ChannelSftp sftpChannel = (ChannelSftp) channel;
                    //get date of file=========================================   
                    String lastModif = sftpChannel.lstat(remoteFile).getMtimeString();
     
                    //I want to get creation date =============================
                    creation_date= ???????????;
     
                  //==============================================
                        sftpChannel.get(remoteFile, copyTo);
                        sftpChannel.exit();
                        session.disconnect();
     
     
                } catch (JSchException e) {
                } catch (SftpException e) {
                }
     
            }
        }
    merci pour votre aide

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il semble que cette API soit incapable de renvoyer la date de création du fichier, juste la dernière modification...
    FTPClient... idem

    Du coup, il faudrait passer passer par une fonction remote (RMI)... si c'est possible bien sûr
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 545
    Points : 21 601
    Points
    21 601
    Par défaut
    Le truc c'est qu'à la base, la date de création d'un fichier, c'est pas du tout dans les formats standardisés, que ce soit POSIX ou de fait.

    La dernière fois que j'ai regardé, la plupart des unix-like étaient incapables de dire quelle est la date de création d'un fichier. Et ceux qui le peuvent, ne remontent l'info que dans des formats étendus non-standards, qu'une API ne pourra pas chercher automatiquement. Au mieux, dans le protocole SFTP, cette info sera située dans les attributs étendus... À condition que l'OS gère, et que le serveur ssh s'en serve et les transmette.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    je vous remercie "thelvin" et "OButterlin" pour votre réponse, donc je vois qu'il n'ya pas moyen de connaitre les fichier qui se sont crées le jour j-1.
    pour la solution "rmi" que vous avez dit Monsieur "OButterlin" je crois que ce n'est pas possible dans notre cas,vu que ces fichier existe dans un serveur qui fait des taches importante donc on veut pas qu'il y aura une instabilité dans ce derinier.

    merci

  5. #5
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 705
    Points : 4 783
    Points
    4 783
    Par défaut
    Je suppose que si tu ne peux pas te servir de la dernière date de modification
    c'est qu'une fois créé le 10 octobre, le fichier peut être modifié le 15 octobre
    et qu'il ne doit pas être pas pris dans la liste des fichiers créés le 15 octobre.

    Si le nom du fichier ne varie pas, il y a la solution "bricolage"
    Le soir du 15 octobre tu établis une liste de tous les fichiers (liste à stocker quelque part dans une base ou fichier texte)
    Le soir du 16 octobre tu établis une nouvelle liste des fichiers présents et tu compares les deux listes ...

    Naturellement, c'est à valider par rapport à ton besoin.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

Discussions similaires

  1. Date de création d'un fichier
    Par zetta dans le forum Langage
    Réponses: 2
    Dernier message: 13/10/2007, 02h32
  2. la date de création d'un fichier sur un site ftp??
    Par timsah dans le forum C++Builder
    Réponses: 5
    Dernier message: 15/01/2006, 22h27
  3. Réponses: 4
    Dernier message: 15/09/2005, 14h27
  4. Réponses: 17
    Dernier message: 01/03/2005, 17h11
  5. Date de création d'un fichier
    Par daphne35 dans le forum Windows
    Réponses: 5
    Dernier message: 20/01/2005, 18h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo