หากคุณต้องการกำจัดไฟล์ที่ไม่มีประโยชน์ ให้ลบออกโดยใช้วิธีการ Java การลบไฟล์และไดเร็กทอรีใน Java เป็นกระบวนการที่ไม่ซับซ้อน มีหลายวิธีในการจัดการกับงาน - นักพัฒนาสามารถเลือกวิธีที่พวกเขาพอใจมากที่สุด ต่อไปนี้เป็นคำแนะนำสั้นๆ เพื่อกำจัดไฟล์ Java ที่ไม่จำเป็นโดยไม่ทำลายโค้ดของคุณ มาเริ่มกันเลย.
วิธีลบไฟล์ใน Java ด้วยวิธี java.io.File.Delete()
คุณสามารถใช้วิธีนี้เพื่อลบไดเร็กทอรีหรือไฟล์ที่ตรงกับชื่อพาธที่คุณใส่ไว้ในวงเล็บ โปรดทราบว่าไดเร็กทอรีที่ต้องการลบไม่จำเป็นต้องมีไฟล์ มาดูวิธีการลบไฟล์ใน Java โดยใช้File.Delete()
.
ประกาศ java.io.File.Delete()
นี่คือวิธีที่คุณประกาศวิธีการกำจัดไฟล์ที่ไม่จำเป็น:
// Java code for file deletion
import java.io.*;
public class Test
{
public static void main(String[] args)
{
File file = new File("C:\\Users\\Admin\\Files\\1.txt");
if(file.delete())
{
System.out.println("File deleted successfully");
}
else
{
System.out.println("Failed to delete the file");
}
}
}
หากคุณสามารถเข้าถึงไฟล์และถ้ามีอยู่ คุณจะได้รับผลตอบแทนที่สอดคล้องกัน ในกรณีที่ล้มเหลว คุณจะได้รับข้อความแจ้งเตือนว่า "ไม่สามารถลบไฟล์ได้"
ใช้ java.nio.files.deleteIfExists() เพื่อลบไฟล์ Java
วิธีนี้ช่วยให้นักพัฒนา Java ลบไฟล์โดยระบุพาธ ในทำนองเดียวกันกับjava.io.FileDelete()
เมธอดจะคืนค่าเป็น "จริง" หากเข้าถึงและลบไฟล์สำเร็จ และแสดงเอาต์พุตความล้มเหลวหากมีสิ่งผิดปกติเกิดขึ้น สาเหตุที่พบบ่อยที่สุดของjava.nio.files.deleteIfExists()
ความล้มเหลวคือชื่อพาธผิด พูดง่ายๆ คือไม่มีไฟล์ที่มีพารามิเตอร์ตรงกันในไดเร็กทอรีที่คุณระบุ เพื่อความเข้าใจที่ลึกซึ้งยิ่งขึ้น if java.nio.files.deleteIfExists()
ลองมาดูวิธีที่มันประมวลผลไฟล์ประเภทต่างๆ:
- ลิงก์สัญลักษณ์ - ลิงก์ที่ไม่ใช่ไฟล์ที่อยู่เบื้องหลังจะถูกลบ
- ไดเร็กทอรี - ไดเร็กทอรีจะถูกลบสำเร็จทันทีที่ว่างเปล่าหรือมีรายการพิเศษเท่านั้น (เกี่ยวข้องกับข้อมูลจำเพาะบางประการของเมธอดเท่านั้น)
- ไฟล์ - ในกรณีส่วนใหญ่ ตราบใดที่เส้นทางที่คุณตั้งชื่อในเมธอดนั้นเป็นเส้นทางที่ถูกต้องและคุณสามารถเข้าถึงไฟล์ได้ ไฟล์นั้นจะถูกลบสำเร็จ อย่างไรก็ตาม ข้อกำหนดของระบบปฏิบัติการบางระบบไม่อนุญาตให้นักพัฒนาลบไฟล์ที่กำลังเปิดอยู่
ประกาศ java.niofile.deleteIfExists
การประกาศเมธอดนั้นตรงไปตรงมา - มาดูไวยากรณ์ทั่วไปของมันกัน
public static boolean deleteIfExists(Path path)
throws IOException
พารามิเตอร์ของ java.niofile.deleteIfExists
มีพารามิเตอร์เดียวที่นักพัฒนาต้องระบุเพื่อเรียกใช้เมธอด นั่นคือพาธไปยังไฟล์ที่เขาต้องการลบออกจากระบบjava.niofile.deleteIfExists ส่งคืน
เมธอดมีค่าส่งคืนสองค่า:- จริงเมื่อไฟล์ถูกลบอย่างราบรื่น
- เท็จ หากมีข้อผิดพลาดในกระบวนการ (ไดเร็กทอรีไม่ว่างเปล่า ไม่มีไฟล์อยู่ นักพัฒนาไม่ต้องการสิทธิ์ ฯลฯ)
ข้อยกเว้น java.niofile.deleteIfExists
สำหรับข้อยกเว้น มีสามตัวอย่างสถานการณ์ที่นักพัฒนาควรเตรียมใจสำหรับ:- DirectoryNotEmptyException - ตามชื่อที่แนะนำ สิ่งนี้หมายความว่ามีฟิลด์อยู่ในไดเร็กทอรีของคุณ เมื่อคุณย้ายไปที่อื่นแล้ว คุณจะสามารถดำเนินการลบไดเร็กทอรีได้สำเร็จ
- SecurityException - หากมีการติดตั้งตัวจัดการความปลอดภัยในอุปกรณ์ของคุณ วิธีการลบไฟล์จะถูกแทนที่
SecurityManager.checkdelete(String)
ด้วย เป็นผลให้นักพัฒนาจะได้รับคำเตือนข้อยกเว้น - IOExceptionเกี่ยวข้องกับข้อผิดพลาด I/O - ความเข้ากันไม่ได้ของฮาร์ดไดรฟ์ การเลือกไดรเวอร์ที่ล้าสมัย ฯลฯ
ตัวอย่างของการใช้ deleteIfExists()
// Java program to show deleteIfExists() file handling
// java.nio.file.Files.deleteIfExists() method
import java.io.IOException;
import java.nio.file.*;
public class GFG {
public static void main(String[] args)
{
// create object of Path
Path path
= Paths.get("D:\\Work\\Test\\file1.txt");
// deleteIfExists File
try {
Files.deleteIfExists(path);
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
ตัวอย่าง #2
/ Sample Java deletion program
// java.nio.file.Files.deleteIfExists() method
import java.io.IOException;
import java.nio.file.*;
public class GFG {
public static void main(String[] args)
{
// create an object of Path
Path pathOfFile
= Paths.get("D:\\Work\\Test\\"
+ "text1.txt");
// delete File if file exists
try {
boolean result
= Files.deleteIfExists(pathOfFile);
if (result)
System.out.println("File is deleted");
else
System.out.println("File does not exists");
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
บทสรุป
นี่เป็นวิธีหลักในการลบไฟล์ใน Java เนื่องจากมีพารามิเตอร์เหมือนกัน คุณสามารถใช้แทนกันได้ หลังจากฝึกฝนการลบไฟล์ Java สักสองสามครั้ง คุณจะต้องติดใจอย่างแน่นอน
อ่านเพิ่มเติม: |
---|
GO TO FULL VERSION