下面给你介绍Java删除文件夹下的子目录及其包含的子文件的方法:
package com.cn.test1;
import java.io.File;
public class DeleteAllFiles {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String filePath = "e:\\fq\\";
System.out.println("开始删除文件");
File file = new File(filePath);
// deleteFile(file);
deleteAllFilesOfDir(file);
System.out.println("删除成功!!");
}
//递归删除文件夹(方法一)
public static void deleteFile(File file) {
if (file.exists()) {//判断文件是否存在
if (file.isFile()) {//判断是否是文件
file.delete();//删除文件
} else if (file.isDirectory()) {//否则如果它是一个目录
File[] files = file.listFiles();//声明目录下所有的文件 files[];
for (int i = 0;i < files.length;i ++) {//遍历目录下所有的文件
deleteFile(files[i]);//把每个文件用这个方法进行迭代
}
file.delete();//删除文件夹
}
} else {
System.out.println("所删除的文件不存在");
}
}
//方法二
public static void deleteAllFilesOfDir(File path) {
if (!path.exists())
return;
if (path.isFile()) {
path.delete();
return;
}
File[] files = path.listFiles();
for (int i = 0; i < files.length; i++) {
deleteAllFilesOfDir(files[i]);
}
path.delete();
}
}
2. java如何从一个xml文件读取根节点、子节点属性。
思路如下:
xml文件未知不明白什么意思?我索性就理解为一个目录下有很多xml文件,每个xml文件获取其中的bean节点属性。
1> 有xml文件路径,获取该路径下的所有文件,用后缀“.xml”或“.XML”过滤得到xml文件。
2> javax.xml.parsers.DocumentBuilder builder = factory.newDocumentBuilder();
org.w3c.dom.Document doc = builder.parse(is); 创建文档对象。
3>doc.getChildNodes()获取文档中所有的节点,循环遍历所得节点node,
通过node.getAttributes()获取节点所有属性,获取各个属性name和值即可,输出想要得到的数据。
或者通过doc.getElementsByTagName("bean");直接指定bean节点。然后用同样的方法获取属性名和值,输出。
以上是根据jdk的W3C库解析的。想方便可以通过dom4j、jdom进行文件操作。思路变化不大。
3. java文件读取读取指定目录的所有mp3文件,包括所有子目录,将所读取的文件名呈现在控制台
此方法采用递归法搜索所有F盘的MP3和Flac文件。
不想搜flac文件的话,把 |s.endsWith("flac") 删掉即可。
图片是源码排版。
源码如下
import java.io.File;
class TestDemo {
public static void main(String[] args) {
File file = new File("f:\");
isMusic(file);
}
public static void isMusic(File f) {
File[] file = f.listFiles();
if (file != null) {
for (File file2 : file) {
if (file2.isFile()) {
String s = file2.getPath();
if (s.endsWith("mp3") | s.endsWith("flac")) {
System.out.println(s);
}
} else {
isMusic(file2);
}
}
}
}
}
4. 在java里面怎么获得一个文件夹里面所有子文件名
在Java中,获取一个文件夹内所有子文件名的方法有多种。使用list()方法,可以以字符串形式返回目录下的所有文件名,示例如下:
java
String[] filenames = folder.list();
for (String filename : filenames) {
System.out.println(filename);
}
若需以File对象形式返回目录下的全部文件,可以使用listFiles()方法。此方法同样返回一个File[]数组,示例如下:
java
File[] files = folder.listFiles();
for (File file : files) {
System.out.println(file.getName());
}
需要注意的是,这两种方法均不会返回子目录中的文件。若需递归获取目录下的所有文件,可以自行编写递归函数,示例如下:
java
public static void listFiles(File folder) {
File[] files = folder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
listFiles(file);
} else {
System.out.println(file.getName());
}
}
}
通过上述方法,我们可以灵活地获取Java程序中文件夹内的文件名。这些方法不仅适用于单个文件夹,也适用于递归获取子文件夹中的文件名。在实际开发中,根据需求选择合适的方法,可以有效提高代码的可读性和实用性。
5. Java怎么实现扫描多个目录中(包括子目录)的指定文件,并且删除它们
思路如下使用递归来自
public static void de(File f)
{ File [] b = f.listFiles();
//获取包含file对象对应的子目录或者文件
for(int i =0;i<b.length;i++}{
if(b[i].isFile()){
b[i].delete(); //判断是否为文件如果是 就删除 }
else{ de(b[i]);//否则重新递归到方法中 }
} f.delete();//最后删除该目录中所有文件后就删除该目录 }
6. 如何用javac命令编译一个目录以及子目录下所有的java文件呢
不想一个一个写文件名,就应该想到如何生成命令行。人类进化的动力就是想吃饱又想偷懒。
::Windows
D:Workflow>dir/s/ad>dir.txt
然后用 notepad++ 打开替换命令行。
其实我兄判搏想吐槽的是,这个年代有几个人还需要手工来执行最原始的命令行。像 ant 就很方便的处理这些东西。用 eclipse 也行啊。
一个 ant 样例冲袭:
java-classpathant.jar;ant-launcher.jarorg.apache.tools.ant.launch.Launcher-vbuild.xml
<!--filename:build.xml-->
<projectdefault="compile">
<targetname="compile">
羡祥<mkdirdir="bin"/>
<javacsrcdir="src"destdir="bin"/>
</target>
</project>