Credo che il problema stia nel fatto che dovresti passare il percorso assoluto e non solo il nome della directory.
Per farla più breve puoi sostituire il parametro del metodo lista() in modo che esso accetti un oggetto File e non uno String. Così ti eviti il problema e passi solo il contenuto dell'array.
codice:
public class TestMain {
/**
* @param args
*/
public void lista (File partenza){ // <-- modificato qui
File[] list=partenza.listFiles(); // <-- modificato qui
int MAX=list.length;
for (int i = 0; i<MAX; i++){
if (list[i].isDirectory())
this.lista( list[i] ); // <-- modificato qui
else
System.out.println(list[i].getName());
}
}
public static void main(String[] args) {
TestMain t = new TestMain();
t.lista( new File("C:\\") ); // <-- modificato qui
}
}