Skip to content

Commit c959931

Browse files
Get Current Directory Using Java
1 parent 2e522b3 commit c959931

2 files changed

Lines changed: 74 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.baeldung.core.pwd;
2+
3+
import java.io.File;
4+
import java.nio.file.FileSystems;
5+
import java.nio.file.Paths;
6+
7+
public final class CurrentDirectoryFetcher {
8+
9+
public static void main(String[] args) {
10+
System.out.printf("Current Directory Using Java System API: %s%n", currentDirectoryUsingSystemProperties());
11+
12+
System.out.printf("Current Directory Using Java IO File API: %s%n", currentDirectoryUsingFile());
13+
14+
System.out.printf("Current Directory Using Java NIO FileSystems API: %s%n", currentDirectoryUsingFileSystems());
15+
16+
System.out.printf("Current Directory Using Java NIO Paths API: %s%n", currentDirectoryUsingPaths());
17+
}
18+
19+
public static String currentDirectoryUsingSystemProperties() {
20+
return System.getProperty("user.dir");
21+
}
22+
23+
public static String currentDirectoryUsingPaths() {
24+
return Paths.get("")
25+
.toAbsolutePath()
26+
.toString();
27+
}
28+
29+
public static String currentDirectoryUsingFileSystems() {
30+
return FileSystems.getDefault()
31+
.getPath("")
32+
.toAbsolutePath()
33+
.toString();
34+
}
35+
36+
public static String currentDirectoryUsingFile() {
37+
return new File("").getAbsolutePath();
38+
}
39+
40+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.baeldung.core.pwd;
2+
3+
import static org.junit.Assert.assertTrue;
4+
5+
import org.junit.Test;
6+
7+
public class CurrentDirectoryFetcherTest {
8+
9+
private static final String CURRENT_DIR = "core-java-os";
10+
11+
@Test
12+
public void whenUsingSystemProperties_thenReturnCurrentDirectory() {
13+
assertTrue(CurrentDirectoryFetcher.currentDirectoryUsingSystemProperties()
14+
.endsWith(CURRENT_DIR));
15+
}
16+
17+
@Test
18+
public void whenUsingJavaNioPaths_thenReturnCurrentDirectory() {
19+
assertTrue(CurrentDirectoryFetcher.currentDirectoryUsingPaths()
20+
.endsWith(CURRENT_DIR));
21+
}
22+
23+
@Test
24+
public void whenUsingJavaNioFileSystems_thenReturnCurrentDirectory() {
25+
assertTrue(CurrentDirectoryFetcher.currentDirectoryUsingFileSystems()
26+
.endsWith(CURRENT_DIR));
27+
}
28+
29+
@Test
30+
public void whenUsingJavaIoFile_thenReturnCurrentDirectory() {
31+
assertTrue(CurrentDirectoryFetcher.currentDirectoryUsingFile()
32+
.endsWith(CURRENT_DIR));
33+
}
34+
}

0 commit comments

Comments
 (0)