Cum pot afla de ce java.io.File.mkdir () revine false

Cum aflu de ce java.io.File.mkdir() returnează false . Pot crea directorul manual.

ACTUALIZAȚI: Codul meu arată astfel:

String directoryName = "C:/some/path/";
File directory= new File(directoryName );
if (!directory.exists() && !directory.mkdir()) {
    throw new RuntimeException("Failed to create directory: " + directoryName);
}
0
Ați verificat dacă există un director înainte de a încerca să îl creați?
adăugat autor Holly Cummins, sursa

5 răspunsuri

Răspunsul este simplu, încercați să creați dosare imbricate (un dosar în interiorul unui dosar). Pentru folderele imbricate, folosiți File.mkdirs() . Asta funcționează (testat).

0
adăugat

Utilizând cygwin ?

mkdir poate reveni la falsă, dar continuați să creați dosarul oricum. Falsul pare să indice doar că dosarul nu există.

Este posibil să trebuiască să încercați directory.exists() după apelul mkdir() (sau chiar mkdirs()

0
adăugat

Nu cred că poți, cel puțin nu din Java. Având în vedere că sistemul de operare face această determinare, Java este pur și simplu delegația la acesta și returnarea rezultatului.

Ați încercat să vă asigurați că obiectul dvs. Fișier indică unde credeți că este?

Actualizare: dacă C:/altele nu există, trebuie mai întâi să fie create înainte de a încerca să creați C:/some/path. Sau utilizați mkdirs() așa cum a fost subliniat.

0
adăugat
Cine a spus că nu puteți mkdir în Java?
adăugat autor Buhake Sindi, sursa
Citat: Nu cred ca poti, cel putin nu din Java . Asta nu e deloc adevărat.
adăugat autor Buhake Sindi, sursa
Întrebarea a fost: "Cum să aflu de ce java.io.File.mkdir() se întoarce fals", așa că i-am răspuns: "Nu cred că poți [afla]"
adăugat autor Jonathan W, sursa
Spune că nu poți spune de ce nu a reușit.
adăugat autor koregan, sursa

Va trebui să utilizați mkdirs() dacă dosarul părinte ( some din exemplu) nu există deja.

0
adăugat

Dacă utilizați ceva de genul procesați monitor pentru ferestre, puteți vizualizați încercarea de nivel de sistem de operare pentru a crea directorul.

Aceasta vă poate oferi informațiile de care aveți nevoie.

Probabil că va trebui să utilizați filtrele în monitorul procesului, deoarece de obicei există o mulțime de activități pe disc.

0
adăugat