Si prega di consultare frammento di codice:Java File.isDirectory() restituisce False per una directory in Linux
File[] additionalFiles = new File(FILE_PATH).listFiles();
boolean isDirectory = file.isDirectory();
Ho verificato che il percorso della directory è corretto, e quando faccio funzionare il codice su Windows, il valore di isDirectory è vero (come dovrebbe essere). Qualche suggerimento sul perché questo si verifica su Linux (RedHat Enterprise Linux)?
La directory è una directory normale o un collegamento simbolico? Quale versione di Java? Quale versione di RH? La directory contiene caratteri insoliti (non inglesi) nel nome? – Yishai
Qual è il valore di 'FILE_PATH'? Per caso contiene dei separatori di file in stile Windows ('\')? –
Credo che sia un simlink, la directory è fuori su un server condiviso- in che modo questo ha impatto? La versione Java è l'aggiornamento 17. La versione RH è Enterprise RedHat 5. La directory contiene tutte le lettere minuscole, nessun carattere speciale ei separatori dei file sono corretti (ho stampato la directory durante l'esecuzione del programma, quindi l'ho copiata e incollata nella riga di comando dopo "cd" e con successo e cd'd nella directory). – shelt536