Current Working Directory (CWD) ใน Java หมายถึงโฟลเดอร์รากของโปรเจกต์ Java ปัจจุบันที่กำลังทำงานอยู่ เราสามารถดึงค่านี้ได้ง่ายๆ ด้วย System Property
วิธีการดึง Current Working Directory
ใช้เมธอด System.getProperty("user.dir") ซึ่งจะคืนค่าเป็น String ที่เป็นพาธเต็มของโฟลเดอร์ทำงานปัจจุบัน
String cwd = System.getProperty("user.dir");
ตัวอย่างโค้ดเต็ม
public class CurrentWorkingDirectory {
public static void main(String[] args) {
String cwd = System.getProperty("user.dir");
System.out.println("Current working directory: " + cwd);
}
}
ตัวอย่างผลลัพธ์
Current working directory: /Users/username/workspace/MyJavaProject
กรณีการใช้งานที่พบบ่อย
- การอ่านไฟล์ config ที่วางไว้ในโฟลเดอร์โปรเจกต์
- การเขียนไฟล์ log หรือ output ให้อยู่ในโฟลเดอร์โปรเจกต์
- การสร้างพาธสัมพัทธ์ (relative path) สำหรับไฟล์ต่างๆ
หมายเหตุ: ค่าที่ได้จะขึ้นอยู่กับที่รันโปรแกรม - ถ้ารันจาก IDE อาจเป็นโฟลเดอร์โปรเจกต์ แต่ถ้ารันจาก JAR ที่ build แล้ว อาจเป็นโฟลเดอร์ที่อยู่ JAR ไปเลย