2015-10-09 1 views
1

J'ai un fichier avec 20 lignes. J'ai besoin de lire les 3 premières lignes, de le traiter et de l'écrire dans un autre fichier. Puis donnez un délai de 62 secondes, lisez les 3 lignes suivantes et ainsi de suite jusqu'à la ligne nième. Comment puis-je y aller? J'ai réussi à écrire les 3 premières lignes, mais je ne sais pas où mettre la boucle pour une autre itération.Ecrivez quelques lignes dans un fichier avec un retard

FileInputStream fis = new FileInputStream("C:\\Users\\Rao\\Desktop\\test.txt"); 
br = new BufferedReader(new InputStreamReader(fis, "UTF-8")); 

      String sCurrentLine; 
      int counter = 0; 
      while ((sCurrentLine = br.readLine()) != null) { 
       if (counter < 3) { 
       URL oracle = new URL("http://ip-api.com/json/"+sCurrentLine+"?"+"fields=isp"); 
       BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream())); 
       String inputLine; 
       while ((inputLine = in.readLine()) != null) { 
          String baby= (sCurrentLine+ "\t"+ inputLine); 

       try { 
         FileWriter writer = new FileWriter("C:\\Users\\Rao\\Desktop\\output.txt", true); 
         writer.write(baby); 
         writer.write("\r\n"); // write new line 
         writer.close(); 

        } catch (IOException e) { 
         e.printStackTrace(); 
         } 
       } in.close(); 
      } 

      counter++; } 
      TimeUnit.SECONDS.sleep(62); } 
     finally { 
      if (br != null) br.close(); 
     } 
    } 

}

+0

http://stackoverflow.com/questions/3342651/how-can-i-delay-a-java-program-for-a-few-seconds –

+0

je n'ai aucun problème avec le retard. Looping est la question. Après le délai, il devrait revenir à une boucle et traiter les 3 prochaines lignes. Où puis-je inclure cette boucle et comment. – Scitech

Répondre

2

essayer. Donc, il va dormir tous les trois essais.

while ((sCurrentLine = br.readLine()) != null) { 

    // process the data which you have read. 

    if ((counter % 3) == 0) { 
     TimeUnit.SECONDS.sleep(62); 
    } 

} 
+0

Merci. Où dois-je le placer. Il est en retard pour chaque ligne. – Scitech

+0

Scitech, j'ai édité la réponse. Modifiez votre code en conséquence. – Janath

+0

Merci Janath, je vais essayer! – Scitech