在 Java 中删除文件
Java NIO
包是在 Java 7 版本中引入的。它提供名为 Files
的实用 API 来操作文件和方向。
我们将使用这个包来删除文件。
在 Java 中使用 Files.delete()
删除文件
java.nio.file
包包含 Java Files
类,该类具有许多静态方法来对文件、目录和其他类型执行操作。
我们使用 Path
接口 java.nio.files.Path
来创建 Path
实例。Path
实例是使用 Paths
类 (java.nio.file.Paths
) 中的静态方法 get()
创建的。
因此,调用 Paths.get()
提供了一个 Path
实例。此实例表示用于在文件系统中定位文件的对象。
我们将字符串格式的绝对路径作为参数传递给静态方法 get()
。代码中的绝对路径是/Users/Test/test1.txt
。get() 方法将字符串序列转换为路径字符串。
静态方法 delete()
采用 Path
实例并删除指定的路径文件。如果指定路径中不存在该文件,此方法将抛出 NoSuchFileException
。
如果文件是非空目录且无法删除,也会抛出 DirectoryNotEmptyException
。因此,我们将代码放在 try-catch
块中。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FileTest {
public static void main(String [] args) {
String file_name = "/Users/Test/test1.txt";
Path path = Paths.get(file_name);
try {
Files.delete(path);
} catch (IOException e) {
e.printStackTrace();
}
}
}
在 Java 中使用 Files.deleteIfExists()
删除文件
java.nio.file
包中的 Files
类还包括方法 deleteIfExists()
,如果该文件存在于指定路径中,该方法将删除该文件。此方法返回一个布尔值。
如果返回值为 true
,则删除该文件,因为它存在于路径中。如果该位置不存在文件,则此方法将返回 false
,因为无法将其删除。
我们将布尔值存储在变量结果中并相应地打印输出。如上一节所述,我们将代码放在 try-catch
块中,因为此操作可能会抛出 IOException
。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
class FileTest {
public static void main(String[] args) {
String file_name = "/Users/Test/test.txt";
Path path = Paths.get(file_name);
try {
boolean result = Files.deleteIfExists(path);
if (result) {
System.out.println("File is deleted!");
} else {
System.out.println("Sorry, could not delete the file.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
输出:
File is deleted!
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn