ใน Java มีวิธีหลักสองวิธีในการตรวจสอบว่ามีไฟล์หรือไดเร็กทอรีอยู่หรือไม่ เหล่านี้คือ:
1 - Files.exists
จากแพ็คเกจ NIO
2 - File.exists
จากแพ็คเกจ IO ดั้งเดิม
มาดูตัวอย่างบางส่วนจากแต่ละแพ็คเกจกัน
ตรวจสอบว่ามีไฟล์อยู่หรือไม่ (Java NIO)
รหัสใช้ Path
และ Path
จากแพ็คเกจ Java NIO เพื่อตรวจสอบว่ามีไฟล์อยู่หรือไม่:
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)
ในทำนองเดียวกัน หากเราต้องการตรวจสอบว่ามีไดเร็กทอรีใน Java โดยใช้แพ็คเกจ NIO หรือไม่:
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 คุณสามารถใช้แพ็คเกจ Java IO รุ่นเก่าได้:
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)
ในทำนองเดียวกัน ในการตรวจสอบไดเรกทอรี เราสามารถใช้:
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");
}
}
}