1. 程式人生 > >Java複製、移動和刪除檔案

Java複製、移動和刪除檔案

複製檔案:

Files.copy(fromPath,toPath);

例如:

Files.copy(Paths.get("E:\\A.txt"), Paths.get("F:\\A.txt"));// 將E:\\A.txt複製到F:\\A.txt

這是Java 的API(注意:沒有copy(String,String);的方法的!):

Modifier and Type

Method

Description

static long

copy(InputStream in, 

Path target, CopyOption... options)

Copies all bytes from an input stream to a file.

static long

copy(Path source, OutputStream out)

Copies all bytes from a file to an output stream.

static Path

copy(Path source, 

Path target, CopyOption... options)

Copy a file to a target file.

移動檔案(複製並刪除原始檔):

Files.move(fromPath,toPath);

例如:

Files.move(Paths.get("E:\\A.txt"), Paths.get("F:\\A.txt"));//將E:\\A.txt移動到F:\\A.txt

如果目標路徑已經存在,複製或移動將失敗,丟擲異常java.nio.file.FileAlreadyExistsException

覆蓋已有的目標路徑,使用StandardCopyOption.REPLACE_EXISTING;例如:

Files.move(Paths.get("E:\\A.txt"), Paths.get("F:\\A.txt"), StandardCopyOption.REPLACE_EXISTING);

複製所有的檔案屬性,使用StandardCopyOption.COPY_ATTRIBUTES。

刪除檔案:

Files.delete(path);

例如:

Files.delete(Paths.get("E:\\A.txt"));//刪除E:\\A.txt

如果刪除檔案不存在,會丟擲異常java.nio.file.NoSuchFileException。因此,可以使用deleteIfExists(path)方法:

boolean deleted = Files.deleteIfExists(path);