Reputation: 739
Is there a easy way to get the filePath provided I know the Filename?
Upvotes: 16
Views: 182545
Reputation: 1078
You may use:
FileSystems.getDefault().getPath(new String()).toAbsolutePath();
or
FileSystems.getDefault().getPath(new String("./")).toAbsolutePath().getParent()
This will give you the root folder path without using the name of the file. You can then drill down to where you want to go.
Example: /src/main/java...
Upvotes: 0
Reputation: 1450
Correct solution with "File" class to get the directory - the "path" of the file:
String path = new File("C:\\Temp\\your directory\\yourfile.txt").getParent();
which will return:
path = "C:\\Temp\\your directory"
Upvotes: 8
Reputation: 444
I'm not sure I understand you completely, but if you wish to get the absolute file path provided that you know the relative file name, you can always do this:
System.out.println("File path: " + new File("Your file name").getAbsolutePath());
The File class has several more methods you might find useful.
Upvotes: 8
Reputation: 37843
Look at the methods in the java.io.File class:
File file = new File("yourfileName");
String path = file.getAbsolutePath();
Upvotes: 18
Reputation: 328845
You can use the Path
api:
Path p = Paths.get(yourFileNameUri);
Path folder = p.getParent();
Upvotes: 21