Risposte:
In entrambi i casi, mi aspetto file.getParent()(ofile.getParentFile() ) di darti quello che vuoi.
Inoltre, se si vuole scoprire se l'originale File non esistono e è una directory, exists()e isDirectory()sono ciò che stai cercando.
Se fai qualcosa di simile:
File file = new File("test.txt");
String parent = file.getParent();
parent sarà nullo.
Quindi per ottenere la directory di questo file puoi fare quanto segue:
parent = file.getAbsoluteFile().getParent();
File API File.getParent o File.getParentFile dovrebbero restituirti Directory del file.
Il tuo codice dovrebbe essere come:
File file = new File("c:\\temp\\java\\testfile");
if(!file.exists()){
file = file.getParentFile();
}
Puoi anche controllare che il tuo file genitore sia la directory usando File.isDirectory API
if(file.isDirectory()){
System.out.println("file is directory ");
}
File directory = new File("Enter any directory name or file name"); boolean isDirectory = directory.isDirectory(); if (isDirectory) { // It returns true if directory is a directory. System.out.println("the name you have entered is a directory : " + directory); //It returns the absolutepath of a directory. System.out.println("the path is " + directory.getAbsolutePath()); } else { // It returns false if directory is a file. System.out.println("the name you have entered is a file : " + directory); //It returns the absolute path of a file. System.out.println("the path is " + file.getParent()); }
codefile finale file = nuovo file ("C: /dev/changeofseasons.mid"); System.out.println ("il file esiste?" + File.exists ()); System.out.println ("directory del file:" + file.getAbsolutePath ()); Ok, scusa per il rientro debole, non penso sia possibile formattare il codice nei commenti. Tuttavia, il tuo codice ovviamente non funziona.
File filePath=new File("your_file_path");
String dir="";
if (filePath.isDirectory())
{
dir=filePath.getAbsolutePath();
}
else
{
dir=filePath.getAbsolutePath().replaceAll(filePath.getName(), "");
}
your_file_path = "C:\\testfiles\\temp\\testfile";- non penso che darebbe quello che speri.