!389 【紧急】可能遇到只读文件,无法删除,使用 file 方法删除

Merge pull request !389 from 不忘初心/v5-dev
This commit is contained in:
Looly
2021-08-02 03:59:42 +00:00
committed by Gitee
2 changed files with 11 additions and 15 deletions

View File

@@ -40,10 +40,7 @@ import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -714,6 +711,9 @@ public class FileUtil extends PathUtil {
// 删除文件或清空后的目录
try {
Files.delete(file.toPath());
} catch (AccessDeniedException access) {
// 可能遇到只读文件,无法删除.使用 file 方法删除
return file.delete();
} catch (IOException e) {
throw new IORuntimeException(e);
}

View File

@@ -16,16 +16,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.Charset;
import java.nio.file.CopyOption;
import java.nio.file.DirectoryStream;
import java.nio.file.FileVisitOption;
import java.nio.file.FileVisitResult;
import java.nio.file.FileVisitor;
import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.StandardCopyOption;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.EnumSet;
@@ -144,7 +135,12 @@ public class PathUtil {
if (isDirectory(path)) {
Files.walkFileTree(path, DelVisitor.INSTANCE);
} else {
Files.delete(path);
try {
Files.delete(path);
} catch (AccessDeniedException access) {
// 可能遇到只读文件,无法删除.使用 file 方法删除
return path.toFile().delete();
}
}
} catch (IOException e) {
throw new IORuntimeException(e);