ใน Java มีสองวิธีหลักในการตรวจสอบว่าไฟล์หรือไดเรกทอรีมีอยู่จริง คือ:
1 - Files.exists จาก NIO package
2 - File.exists จาก legacy IO package
มาดูตัวอย่างจากแต่ละ package
ตรวจสอบว่าไฟล์มีอยู่ (Java NIO)
โค้ดใช้ Path และ Paths จาก Java NIO package ตรวจสอบว่าไฟล์มีอยู่:
import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CheckFileExist { public static void main(String[] args) { Path path = Paths.get("/path/to/file/app.log"); if (Files.exists(path)) { if (Files.isRegularFile(path)) { System.out.println("App log file exists"); } } else { System.out.println("App log file does not exists"); } } }
ตรวจสอบว่าไดเรกทอรีมีอยู่ (Java NIO)
เช่นกัน หากเราอยากตรวจสอบว่า directory มีอยู่ใน Java ด้วย NIO package:
import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CheckDirectoryExist { public static void main(String[] args) { Path path = Paths.get("/path/to/logs/"); if (Files.exists(path)) { if (Files.isDirectory(path)) { System.out.println("Logs directory exists"); } } else { System.out.println("Logs directory does not exist"); } } }
ตรวจสอบว่าไฟล์มีอยู่ (Java Legacy IO)
หากคุณไม่ใช้ Java NIO package สามารถใช้ legacy Java IO package:
import java.io.File; public class CheckFileExists { public static void main(String[] args) { File file = new File("/path/to/file/app.log"); if(file.exists()) { System.out.println("App log file exists"); } else { System.out.println("App log file does not exist"); } } }
ตรวจสอบว่าไดเรกทอรีมีอยู่ (Java Legacy IO)
เช่นเดียวกัน เพื่อตรวจสอบ directory ใช้ได้:
import java.io.File; public class CheckFileExists { public static void main(String[] args) { File file = new File("/path/to/logs/"); if(file.isDirectory()) { System.out.println("Logs directory exists"); } else { System.out.println("Logs directory does not exist"); } } }