下面給你介紹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>