在 Java 中,你可以使用 java.io.File 类来删除文件夹里的所有文件。
创新互联公司秉承实现全网价值营销的理念,以专业定制企业官网,成都网站设计、做网站、成都外贸网站建设公司,微信小程序开发,网页设计制作,成都手机网站制作,营销型网站帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
例如,你可以使用以下代码来删除文件夹 "mydir" 中的所有文件:
Copy code
File dir = new File("mydir");
// 列出所有文件
File[] files = dir.listFiles();
// 遍历所有文件并删除
for (File file : files) {
file.delete();
}
// 删除空文件夹
dir.delete();
注意,如果文件夹 "mydir" 不存在或者不是一个文件夹,这段代码可能会抛出异常。因此,你可能需要添加一些错误处理代码来确保程序的正常运行。
1、如果只是想要文件中的内容,可以使用如下代码:
FileOutputStream fs = new FileOutputStream(new File("C:\\buyterms.txt"));
2、如果是想要文件夹中的内容,可以使用如下代码:
package com.xx;
import java.io.File;
public class Test {
public static void main(String[] args) {
String fileRoot = "C:/Users/xx/Desktop/xx/xxx";
delFolder(fileRoot);
System.out.println("deleted");
}
// // 删除完文件后删除文件夹
// // param folderPath 文件夹完整绝对路径
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); // 删除完里面所有内容
//不想删除文佳夹隐藏下面
// String filePath = folderPath;
// filePath = filePath.toString();
// java.io.File myFilePath = new java.io.File(filePath);
// myFilePath.delete(); // 删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
}
// 删除指定文件夹下所有文件
// param path 文件夹完整绝对路径
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
// delFolder(path + "/" + tempList[i]);// 再删除空文件夹
flag = true;
}
}
return flag;
}
}
FIle file = new File("/image/123.jpg");
if (file.exists()){
file.delete();
}
使用File对象操作删除,会判断是否存在,如存在就删了。
如果想找路径,使用File类的getAbsolutePath()方/法就能得到/绝/对/路/径/的字符串表示。
例如上面的对、象file,使用
String str = file.getAbsolutePath();
System.out.println(str);
你在/控/制/台co/ns/ole/窗口就能看到了。
File
F=new
File(路径);/通过将给定路径名字符串转换为抽象路径名来创建一个新
File
实例。
F.delete();//删除此抽象路径名表示的文件或目录。
文件的移动的话,得通过输入输出流
FileInputStream
FI=new
FileInputStream(F);
FileOutputStream
FO=new
FileOutputStream(F);
wile(FI.read()!=EOF)
{
FO.write();
}
java删除文件或文件夹的具体步骤:
1、验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)
// 验证字符串是否为正确路径名的正则表达式
private static String matches = "[A-Za-z]:\\\\[^:?\"*]*";
// 通过 sPath.matches(matches) 方法的返回值判断是否正确
// sPath 为路径字符串
2、通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件
/**
* 根据路径删除指定的目录或文件,无论存在与否
*@param sPath 要删除的目录或文件
*@return 删除成功返回 true,否则返回 false。
*/
public boolean DeleteFolder(String sPath) {
flag = false;
file = new File(sPath);
// 判断目录或文件是否存在
if (!file.exists()) { // 不存在返回 false
return flag;
} else {
// 判断是否为文件
if (file.isFile()) { // 为文件时调用删除文件方法
return deleteFile(sPath);
} else { // 为目录时调用删除目录方法
return deleteDirectory(sPath);
}
}
}
3、实现删除文件的方法
/**
* 删除单个文件
* @param sPath 被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public boolean deleteFile(String sPath) {
flag = false;
file = new File(sPath);
// 路径为文件且不为空则进行删除
if (file.isFile() file.exists()) {
file.delete();
flag = true;
}
return flag;
}
4、实现删除文件夹的方法
/**
* 删除目录(文件夹)以及目录下的文件
* @param sPath 被删除目录的文件路径
* @return 目录删除成功返回true,否则返回false
*/
public boolean deleteDirectory(String sPath) {
//如果sPath不以文件分隔符结尾,自动添加文件分隔符
if (!sPath.endsWith(File.separator)) {
sPath = sPath + File.separator;
}
File dirFile = new File(sPath);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if (!dirFile.exists() || !dirFile.isDirectory()) {
return false;
}
flag = true;
//删除文件夹下的所有文件(包括子目录)
File[] files = dirFile.listFiles();
for (int i = 0; i files.length; i++) {
//删除子文件
if (files[i].isFile()) {
flag = deleteFile(files[i].getAbsolutePath());
if (!flag) break;
} //删除子目录
else {
flag = deleteDirectory(files[i].getAbsolutePath());
if (!flag) break;
}
}
if (!flag) return false;
//删除当前目录
if (dirFile.delete()) {
return true;
} else {
return false;
}
}
5、main() 方法
public static void main(String[] args) {
HandleFileClass hfc = new HandleFileClass();
String path = "D:\\test\\folder1\\exam1";
boolean result = hfc.CreateFolder(path);
System.out.println(result);
path = "D:\\test\\folder2";
result = hfc.DeleteFolder(path);
System.out.println(result);
}
代码如下,使用递归进行删除
import java.io.File;
public class Main {
public static void main(String[] args) {
//待删除文件夹所在目录,例如要删除桌面上所有空文件夹,则该变量应该为桌面路径全部删除
String deletePath = "G:/test/";
delete(new File(deletePath));
}
public static void delete(File file) {
if (file.isDirectory()) {
File[] childs = file.listFiles();
if (childs.length == 0) {
File parent = file.getParentFile();
file.delete();
if (parent.listFiles().length == 0) {
parent.delete();
}
} else {
for (File child : childs) {
delete(child);
}
}
}
}
}