Standard Paths
Standard Paths is a small library which provides cross platform access to the common directories such as AppData
, Desktop
or tmp
.
Target JVM version is 8.
Features
- All major distributions:
Windows
,Linux
,MacOS
(not yet implemented) - Ease of use
- NIO-based
- Lightweight (~10kb)
The package has jna-platform as transitive dependency (~2.5mb).
Quick Start
Access StandardPaths
class and follow autocomplete suggestions:
Path home = StandardPaths.home();
Path cache = StandardPaths.cache();
Be aware that all StandardPaths
methods might throw unchecked NoSuchPathException
if it’s impossible to obtain required path.
Download
Maven:
<dependency>
<groupId>io.github.sanyarnd</groupId>
<artifactId>standard-paths</artifactId>
<version>1.0.2</version>
</dependency>
Gradle:
compile 'io.github.sanyarnd:standard-paths:1.0.2'
Standalone jars are available on releases page.
More download options available in Bintray repository.
Available paths (examples)
Paths below are mere examples.
Internal implementation will always do its best utilizing system API (WinAPI
, freedesktop
etc) and retrieve the real path.
More details can be found in JavaDocs.
Cache
Windows
:%USERPROFILE%/AppData/Local
Linux
:$XDG_CACHE_HOME
(default:$HOME/.cache
)
Config
Windows
:%USERPROFILE%/AppData/Local
Linux
:$XDG_CONFIG_HOME
(default:$HOME/.config
)
Data
Windows
:%USERPROFILE%/AppData/Roaming
Linux
:$HOME/.local/share
Local data
Windows
:%USERPROFILE%/AppData/Local
Linux
:$HOME/.local/share
Temp directory
Windows
:%USERPROFILE%/AppData/Local/Temp
Linux
:/tmp
Home
Windows
:%USERPROFILE%
Linux
:~
User directories
desktop:
Windows
:%USERPROFILE%/Desktop
Linux
:~/Desktop
documents:
Windows
:%USERPROFILE%/Documents
Linux
:~/Documents
downloads:
Windows
:%USERPROFILE%/Downloads
Linux
:~/Downloads
music:
Windows
:%USERPROFILE%/Music
Linux
:~/Music
pictures:
Windows
:%USERPROFILE%/Pictures
Linux
:~/Pictures
videos:
Windows
:%USERPROFILE%/Videos
Linux
:~/Videos
Changelog
See CHANGELOG.md.