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

Collection et Stream Java Discussion :

Extraire une Date à partir d'une String dans un fichier


Sujet :

Collection et Stream Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 63
    Points : 38
    Points
    38
    Par défaut Extraire une Date à partir d'une String dans un fichier
    Salut,

    Voila je possède un fichier qui ne contient que ce ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    notBefore=Mar 30 12:29:49 2003 GMTnotAfter=Mar 29 12:29:49 2033 GMT
    J'ai arrivé à lire le fichier caractère par caractère avec ce code:
    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
     
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.Date;
     
    public class Analyse
    {
    	public static void main (String args [])
    	{
     
    		FileReader fic;
    		int i;
     
    		try
    		{	System.out.println("To day is:"+new Date());
    			System.out.println();
       			fic = new FileReader("GetDate.txt");
    			i=fic.read();
       			while(i!=-1)
       			{
          			char t = (char)i;
          			System.out.print(t);
          			/*char c = "=";
          			int j = indexOf(c, 0);
          			System.out.print(j);*/
     
          			i=fic.read();
       			}
    		}
     
     
    		catch (IOException E){E.printStackTrace();}
     
    	}
     
     
    }
    Mais j'ai pas arrivé à extraire cette partie:
    Mar 30 12:29:49 2003 GMT
    et cette partie:
    Mar 29 12:29:49 2033 GMT
    pour les convertir ensuite en date.

    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Points : 56
    Points
    56
    Par défaut
    Voici,

    ce code devrait t'aider

    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
    54
    55
    56
    57
    58
    59
    60
     
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.Date;
    import java.util.GregorianCalendar;
     
    public class Main_1 {
     
        public static void main(String[] args) {
            try {
                String myFile = "D:/Java/netbeans/workspace/CoursJava/resource/data.txt";
                FileReader fileReader = new FileReader(myFile);
                BufferedReader bufRead = new BufferedReader(fileReader);
                String lineRead = bufRead.readLine();
                if (lineRead != null) {
                    System.out.println("my data " + lineRead);
                    String[] mySplitString = lineRead.split(" ");
                    String month1 = (mySplitString[0].split("=")[1]);
                    String day1 = mySplitString[1];
                    String[] time1 = mySplitString[2].split(":");
                    String yyyy1 = mySplitString[3];
                    String month2 = (mySplitString[4].split("=")[1]);
                    String day2 = mySplitString[5];
                    String[] time2 = mySplitString[6].split(":");
                    String yyyy2 = mySplitString[7];
                    System.out.println("date 1 " + yyyy1 + "/" + month1 + "/" + day1 + " " + time1[0] + ":" + time1[1] + ":" + time1[2]);
                    System.out.println("date 2 " + yyyy2 + "/" + month2 + "/" + day2 + " " + time2[0] + ":" + time2[1] + ":" + time2[2]);
     
                    GregorianCalendar cal1 = new GregorianCalendar();
     
                    int myIntMonth = 0;
                    /* attention le mois du calendar se compte à partir de 0
                     * 0 janvier, 1 fevrier, 2 mars, 3 avril ........ 11 decembre 
                     */
                    if (month1.equals("Jan")) {
                        myIntMonth = 0;
                    } else {
                        if (month1.equals("Feb")) {
                            myIntMonth = 1;
                        } else {
                            if (month1.equals("Mar")) {
                                myIntMonth = 2;
                            } else {
                                  ...
                            }
                        }
                    }
     
                    cal1.set(Integer.parseInt(yyyy1), myIntMonth, Integer.parseInt(day1), Integer.parseInt(time1[0]), Integer.parseInt(time1[1]), Integer.parseInt(time1[2]));
                    Date myDate1 = cal1.getTime();
                }
            } catch (FileNotFoundException e) {
                System.out.println("File not found");
            } catch (IOException e) {
                System.out.println("IOException");
            }
        }
    }
    Cordialement,

    P.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut Extraire une Date à partir d'une String dans un fichier
    Bonjour,

    Ou bien avec indexOf et lastIndexOf puis substring:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
             String dates = "notBefore=Mar 30 12:29:49 2003 GMTnotAfter=Mar 29 12:29:49 2033 GMT";
             int index1 = dates.indexOf("="); // si index1 = -1 erreur de structure
             int index2 = dates.indexOf("notAfter"); // si index2 = -1 erreur de structure
             String pasAvantLe = dates.substring(index1+1, index2);
             System.out.println("Pas  avant le : " + pasAvantLe);
     
             index1 = dates.lastIndexOf("=");  // si index1 = -1 erreur de structure
             String avantLe = dates.substring(index1+1);
             System.out.println("Mais avant le : " + avantLe);
    Naturellement, il faut que la "structure" de la chaîne (le String issu de la ligne de texte) soit toujours la même.

    Cordialement,

    Dan

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

    Merci beaucoup vous avez m'aideé beaucoup, le pb est résolu.

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Définir une date à partir d'une date +nombre de jour
    Par Florent7 dans le forum Excel
    Réponses: 1
    Dernier message: 13/10/2010, 15h48
  2. Extraire une date à partir d'une chaine de caractère
    Par soso78 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/12/2007, 16h41
  3. [Débutant] Calcul d'une date à partir d'une date de départ et d'une durée
    Par Marmotton76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/04/2007, 10h39
  4. Réponses: 2
    Dernier message: 21/03/2007, 16h06
  5. Réponses: 14
    Dernier message: 09/01/2007, 16h19

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