mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
!389 【紧急】可能遇到只读文件,无法删除,使用 file 方法删除
Merge pull request !389 from 不忘初心/v5-dev
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user