11package com .company ;
22
33
4+ import java .awt .event .KeyEvent ;
45import java .io .BufferedReader ;
56import java .io .File ;
67import java .io .FileReader ;
@@ -16,6 +17,8 @@ public class Main {
1617 public static void main (String [] args ) throws IOException , InterruptedException {
1718 File fileR = new File (args [0 ]);
1819 File fileW = new File (args [1 ]);
20+ KeyboardObserver keyboardObserver = new KeyboardObserver ();
21+ keyboardObserver .start ();
1922
2023 BufferedReader reader = new BufferedReader (new FileReader (fileR ));
2124
@@ -28,17 +31,40 @@ public static void main(String[] args) throws IOException, InterruptedException
2831 }
2932
3033 ThreadGroup threadGroup = new ThreadGroup ("myGroup" );
34+
3135 for (int i = 0 ; i < strings .size (); i ++) {
3236 threads .add (new Thread (threadGroup ,new MyThreads (strings .get (i ), new FileVisitCounter (), fileW .getName ()),String .valueOf (i +1 )));
3337 }
3438
3539 for (Thread t : threads ) {
40+
41+ // if (!MyThreads.isFlag()) break;
42+ //// t.start();
43+ // if (keyboardObserver.hasKeyEvents()) {
44+ // KeyEvent event = keyboardObserver.getEventFromTop();
45+ // if (event.getKeyCode() == KeyEvent.VK_ESCAPE) {
46+ // threadGroup.interrupt();
47+ // MyThreads.setFlag(false);
48+ // break;
49+ // }
50+ // }
3651 t .start ();
52+
3753 }
3854
3955 while (threadGroup .activeCount () > 0 ) {
40- Thread .sleep (1 );
56+ if (keyboardObserver .hasKeyEvents ()) {
57+ KeyEvent event = keyboardObserver .getEventFromTop ();
58+ if (event .getKeyCode () == KeyEvent .VK_ESCAPE ) {
59+ threadGroup .interrupt ();
60+ break ;
61+ }
62+ }
4163 }
64+
65+ // while (threadGroup.activeCount() > 0) {
66+ // Thread.sleep(1);
67+ // }
4268 new MyCSVWriter (fileW .getName ()).writerToCSV ();
4369
4470
0 commit comments