2013-06-27 3 views
-2

Ceci est le fichier test.txt Je suis nouveau dans l'apprentissage de Java. Je souhaite rechercher la date et l'heure la plus récente ou maximale à partir de ce fichier. Mon projet est coincé ici à cause de cela s'il vous plaît aidez-moi.Validation du contenu du fichier texte en utilisant Java

Event Date and Time="2013/06/24 16:53:45" 
Event Date and Time="2013/06/24 16:53:46" 
Event Date and Time="2013/06/24 16:53:41" 
Event Date and Time="2013/06/24 16:53:33" 
Event Date and Time="2013/06/24 16:53:25" 

Voici mon code ce que je fais dans la boucle while je ne peux pas comprendre s'il vous plaît aidez-moi

try { 


     FileInputStream fstream1 = new FileInputStream(file); 
      DataInputStream in1= new DataInputStream(fstream1); 
      BufferedReader bf = new BufferedReader(new InputStreamReader(in1)); 
     String line; 
     line=bf.readLine(); 
     boolean myheader = checkHeader(line.trim()); 

      if(!myheader) 
      { 

      while ((line = bf.readLine()) != null) 

      { 


       } 
       } 
     catch(Exception) 
       { 
        } 


      private static boolean checkHeader(String headerString) { 
    boolean result = true; 
    String[] headerElements = headerString.split(":"); 
    List<String> list = new ArrayList<String>(); 
    for(int i = 0; i < headerElements.length; i++){ 
     if(i != headerElements.length - 1) 
      list.add(headerElements[i] + ":"); 
     else 
      list.add(headerElements[i]); 
    } 

    for(String listElements : list){ 
     if(!HEADER.contains(listElements)){ 
      result = false; 
      break; 
     } 
    } 
    return result; 
} 
+0

S'il vous plaît modifier votre titre pour être plus concis. Presque toutes les questions sur ce site ont besoin d'aide. – hexafraction

+3

Avez-vous commencé à écrire du code ou avez-vous continué à le regarder? –

+0

je lis le fichier bt je ne sais pas comment mettre la condition dans le code. – user2508209

Répondre

1

itérer vos valeurs de stockage de fichiers à la liste et comparer la valeur de date à l'autre par boucle itérer.

+0

ok je lis le dossier mais comment je stocke la valeur pour énumérer et comparer la date et l'heure? pouvez-vous me fournir un peu de code ici s'il vous plaît – user2508209

2

Voici un pseudo code pour vous, car je ne comprends pas votre code.

ArrayList ls = new ArrayList<String>(); 
Date date1 = null, date2 = null; 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:ss:SS"); 

ls.add("2013/06/24 16:53:45"); 
ls.add("2013/06/24 16:53:46"); 
ls.add("2013/06/24 16:53:41"); 
ls.add("2013/06/24 16:53:48"); 

try { 
    date1 = sdf.parse((String) ls.get(0)); 
} catch (ParseException e1) { 
    e1.printStackTrace(); 
} 

for (int i = 1; i < ls.size(); i++) { 
    try { 
     date2 = sdf.parse((String) ls.get(i)); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 

    if (date2.compareTo(date1) > 0) { 
     date1 = date2; 
    } 
} 

System.out.println("Latest Date :::::" + sdf.format(date1)); 

J'espère que cela aide. Si vous avez des questions, il suffit de demander.

+0

merci beaucoup ça fonctionne :) – user2508209

+0

@ user2508209 Si cela a résolu votre problème, puis acceptez la réponse et fermez la question. J'ai aussi mis le commentaire pour votre question de scission. – Smit

Questions connexes