CodeGym /Blog Java /Ngẫu nhiên /Xóa một tệp trong Java

Xóa một tệp trong Java

Xuất bản trong nhóm
Nếu bạn muốn loại bỏ các tệp vô dụng, hãy xóa chúng bằng các phương thức Java. Xóa tệp và thư mục trong Java là một quá trình đơn giản. Có nhiều phương pháp để xử lý tác vụ - nhà phát triển có thể chọn phương pháp mà họ cảm thấy thoải mái nhất. Dưới đây là một hướng dẫn ngắn để loại bỏ các tệp Java không cần thiết mà không vi phạm mã của bạn. Bắt đầu nào.

Cách xóa một tệp trong Java bằng phương thức java.io.File.Delete()

Bạn có thể sử dụng phương pháp này để xóa một thư mục hoặc một tệp khớp với tên đường dẫn mà bạn đặt trong ngoặc. Hãy nhớ rằng một thư mục, để bị xóa, không cần phải có tệp. Chúng ta hãy xem cách xóa một tệp trong Java bằng cách sử dụng File.Delete().Xóa file trong Java - 1

Khai báo java.io.File.Delete()

Đây là cách bạn khai báo phương thức để loại bỏ một tệp không cần thiết:

// 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"); 
        } 
    } 
}
Nếu bạn có thể truy cập tệp và nếu nó tồn tại, bạn sẽ nhận được tiền lãi tương ứng. Trong trường hợp không thành công, bạn sẽ nhận được cảnh báo “Xóa tệp không thành công”.

Sử dụng java.nio.files.deleteIfExists() để xóa các tệp Java

Phương pháp này giúp các nhà phát triển Java xóa một tệp bằng cách chỉ định đường dẫn của nó. Tương tự như java.io.FileDelete(), phương thức này sẽ trả về giá trị true nếu tệp được truy cập và xóa thành công, đồng thời hiển thị đầu ra lỗi nếu xảy ra sự cố. Lý do thất bại phổ biến nhất java.nio.files.deleteIfExists()là tên đường dẫn sai - nói một cách đơn giản, không có tệp nào có tham số phù hợp trong thư mục bạn đã chỉ định. Để hiểu sâu hơn về if java.nio.files.deleteIfExists(), chúng ta hãy xem cách nó xử lý các loại tệp khác nhau:
  • Liên kết tượng trưng - liên kết, không phải tệp đằng sau nó, sẽ bị xóa.
  • Thư mục - một thư mục sẽ bị xóa thành công ngay khi nó trống hoặc chỉ có các mục đặc biệt (chỉ liên quan đến một số thông số kỹ thuật của phương thức).
  • Các tệp - trong hầu hết các trường hợp, miễn là đường dẫn bạn đặt tên trong phương thức là đúng và bạn có quyền truy cập vào tệp, nó sẽ bị xóa thành công. Tuy nhiên, thông số kỹ thuật của một số hệ điều hành không cho phép nhà phát triển xóa các tệp hiện đang mở.

Khai báo java.niofile.deleteIfExists

Khai báo phương thức này rất đơn giản - chúng ta hãy xem cú pháp chung của nó.

public static boolean deleteIfExists(Path path)
                   throws IOException

Các tham số của java.niofile.deleteIfExists

Có một tham số duy nhất mà nhà phát triển cần chỉ định để chạy phương thức - đường dẫn đến tệp mà anh ta muốn xóa khỏi hệ thống.

java.niofile.deleteIfExists trở lại

Phương thức này có hai giá trị trả về:
  • Đúng, khi tệp bị xóa trơn tru.
  • Sai, nếu có lỗi trong quy trình (thư mục không trống, tệp không tồn tại, nhà phát triển không có quyền cần thiết, v.v.).

java.niofile.deleteIfExists ngoại lệ

Đối với các trường hợp ngoại lệ, có ba trường hợp ví dụ mà các nhà phát triển nên chuẩn bị cho mình:
  • DirectoryNotEmptyException - như tên gợi ý, điều này có nghĩa là có một trường bên trong thư mục của bạn. Khi bạn di chuyển chúng đến một nơi khác, bạn sẽ có thể hoàn tất việc xóa thư mục thành công.
  • SecurityException - nếu trình quản lý bảo mật được cài đặt trên thiết bị của bạn, phương pháp xóa tệp sẽ bị ghi đè bởi SecurityManager.checkdelete(String). Do đó, nhà phát triển sẽ nhận được cảnh báo ngoại lệ.
  • IOException liên quan đến lỗi I/O - ổ cứng không tương thích, lựa chọn trình điều khiển lỗi thời, v.v.

Ví dụ về việc sử dụng 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();
        }
    }
}

Ví dụ #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();

Phần kết luận

Đây là những cách chính để xóa tệp trong Java. Vì chúng có cùng thông số nên bạn có thể sử dụng chúng thay thế cho nhau. Sau khi thực hành xóa tệp Java một vài lần, chắc chắn bạn sẽ thành thạo.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION