[java] File 객체를 사용하여 파일의 디렉토리를 어떻게 얻습니까?

코드를 고려하십시오.

File file = new File("c:\\temp\\java\\testfile");

testfile파일이며 존재하거나 존재하지 않을 수 있습니다. 객체를 c:\\temp\\java\\사용하여 디렉토리를 얻고 싶습니다 File. 어떻게해야합니까?



답변

두 경우 모두 원하는 것을 제공하기를 기대합니다 file.getParent()(또는 file.getParentFile()).

원래이 있는지 여부를 찾으려면 또한, File 하지 존재를하고 있습니다 다음, 디렉토리 exists()isDirectory()당신은 후 무슨이야.


답변

Java 문서의 File.getParent ()


답변

다음과 같이하면 :

File file = new File("test.txt");
String parent = file.getParent();

parent null이됩니다.

따라서이 파일의 디렉토리를 얻으려면 다음을 수행하십시오.

parent = file.getAbsoluteFile().getParent();


답변

File API File.getParent 또는 File.getParentFile 은 파일의 디렉토리를 반환해야합니다.

코드는 다음과 같아야합니다.

    File file = new File("c:\\temp\\java\\testfile");
    if(!file.exists()){
        file = file.getParentFile();
    }

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());
}

답변

File filePath=new File("your_file_path");
String dir="";
if (filePath.isDirectory())
{
    dir=filePath.getAbsolutePath();
}
else
{
    dir=filePath.getAbsolutePath().replaceAll(filePath.getName(), "");
}


답변

이것을 사용할 수 있습니다

 File dir=new File(TestMain.class.getClassLoader().getResource("filename").getPath());