Java複製、移動和刪除檔案
阿新 • • 發佈:2018-12-13
複製檔案:
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, |
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, |
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);