Suppose my file path is "/path/to/file/foo.txt". i want to get "/path/to/file" . means i want to get the path to the folder only where my file exist.
-
2I'm voting to close this question as off-topic because this is asking us for code without trying it ownself. – Sougata Bose Apr 15 '15 at 12:33
-
possible duplicate of [Getting the directory name in java](http://stackoverflow.com/questions/3009981/getting-the-directory-name-in-java) – Nic Apr 15 '15 at 12:44
3 Answers
This should work
File file = new File("/path/to/file/foo.txt");
System.out.println(file.getParent());
edit
Find the reated Java doc here: File.html#getParent()

- 22,518
- 3
- 53
- 69
Refer the post: How to get just the parent directory name of a specific file
Use File
's getParentFile()
method and String.lastIndexOf()
to retrieve just the immediate parent directory.
Mark's comment is a better solution thanlastIndexOf()
:
file.getParentFile().getName();
These solutions only works if the file has a parent file (e.g., created via one of the file constructors taking a parent File
). When getParentFile()
is null you'll need to resort to using lastIndexOf
, or use something like Apache Commons' FileNameUtils.getFullPath()
:
FilenameUtils.getFullPathNoEndSeparator(file.getAbsolutePath());
=> C:/aaa/bbb/ccc/ddd
There are several variants to retain/drop the prefix and trailing separator. You can either use the same FilenameUtils
class to grab the name from the result, use lastIndexOf
, etc.

- 1
- 1

- 464
- 2
- 16
Something like this?
File file = new File("/path/to/file/foo.txt");
file.getAbsolutePath();

- 82
- 5