Quell'errore ti dice che devi catturare un'eventuale eccezione di tipo InterruptedException. Infatti il metodo sleep() può sollevare tale tipo di eccezione, quindi il codice va racchiuso in un blocco try/catch:
codice:
try {
   Thread.sleep(2000);
} catch (Exception e) { e.printStackTrace(); }
Per la seconda domanda rimando a qualcuno che abbia lavorato in modo più approfondito con le API per il File System


Ciao.