Per forza!
L'array lista2 non ha elementi, quindi non è sufficientemente grande per poter contenere l'altro array.
Devi inizializzare lista2 solo dopo che lista è stato valorizzato:
codice:
String padre=new File(System.getProperty("user.dir")).getParent();
File myDir= new File(padre, File.separator +"IMMAGINI");
File [] lista=myDir.listFiles();
String [] lista2=new String[ lista.length ];
if (lista != null)
{
for (int i = 0; i < lista.length; i++)
{
lista2[i]=lista[i].getName();
System.out.println("Ho appena copiato nell'array il file "+lista[i].getName());
}
}
Ciao.