java刪除文件夾及文件夾
參考代碼如下:
publicstaticvoiddelFolder(StringfolderPath){
try{
//實例化File
java.io.FilemyFilePath=newjava.io.File(filePath);
myFilePath.delete();//刪除空文件夾
}catch(Exceptione){
e.printStackTrace();
}
}
『貳』 java中如何遞歸刪除文件和文件夾
刪除文件夾下的所有文件需要用到java.io.File類的各個方法,並需要使用簡單的遞歸演算法
『叄』 Java如何刪除文件夾下的子目錄及其包含的子文件
下面給你介紹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();
}
}
『肆』 JAVA怎樣刪除文件及子文件
遞歸程序如下:
import java.io.File;
public class DeleteFile {
public static void main(String[] args) {
//路徑名自己要小心寫哦,一次性就刪除完了
String path="F:\\html";
File f=new File(path);
try {
deleteFile(f);
} catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
System.out.println("==刪除完成==");
}
public static void deleteFile(File f) throws Exception{
if(f.isFile()){
if(f.canWrite()){
f.delete();
}else{
throw new Exception("文件:"+f.getName()+"只讀,無法刪除,請手動刪除");
}
}else{
File[] fs = f.listFiles();
if(fs.length!=0)
{
for(int i=0;i<fs.length;i++){
deleteFile(fs[i]);
}
}
f.delete();
}
}
}
『伍』 java 刪除文件夾和子文件夾中的指定文件
1、得到要刪除aa.txt文件的根目錄,可以用JFileChooser選擇,也可以寫死。
2、遍歷、刪除。
(1)取得目錄以後,遍歷其下面所有的文件夾和文件。
碰到文件時,判斷其名稱是否為aa.txt,如果是,刪除,如果不是繼續遍歷,
碰到文件夾(目錄)時,調用本身從(1)開始遍歷該目錄,完成後繼續遍歷。
這個需要用到遞歸,所以不確定你能不能理解,我實現了一下,如下:
import java.io.File;
public class DeleteAA {
public static void main(String[] args) {
DeleteAA aa=new DeleteAA();
aa.delete(new File("D:\\0526"));
}
private void delete(File file){
if(file.isDirectory()){
File[] files = file.listFiles();
for (File file2 : files) {
delete(file2);
}
}else{
String name=file.getName();
if("aa.txt".equals(name)){
System.out.println(file.getAbsolutePath());
file.delete();
}
}
}
}
『陸』 java 怎麼 刪除文件夾下的文件
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.File;
public class ReadFile {
public ReadFile() {}
/**
* 刪除某個文件夾下的所有文件夾和文件
* @param delpath String
* @throws FileNotFoundException
* @throws IOException
* @return boolean
*/
public static boolean deletefile(String delpath) throws FileNotFoundException,
IOException {
try {
File file = new File(delpath);
if (!file.isDirectory()) {
System.out.println("1");
file.delete();
}
else if (file.isDirectory()) {
System.out.println("2");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File delfile = new File(delpath + "\\" + filelist[i]);
if (!delfile.isDirectory()) {
System.out.println("path=" + delfile.getPath());
System.out.println("absolutepath=" + delfile.getAbsolutePath());
System.out.println("name=" + delfile.getName());
delfile.delete();
System.out.println("刪除文件成功");
}
else if (delfile.isDirectory()) {
deletefile(delpath + "\\" + filelist[i]);
}
}
file.delete();
}
}
catch (FileNotFoundException e) {
System.out.println("deletefile() Exception:" + e.getMessage());
}
return true;
}
/**
* 刪除某個文件夾下的所有文件夾和文件
* @param delpath String
* @throws FileNotFoundException
* @throws IOException
* @return boolean
*/
public static boolean readfile(String filepath) throws FileNotFoundException,
IOException {
try {
File file = new File(filepath);
if (!file.isDirectory()) {
System.out.println("文件");
System.out.println("path=" + file.getPath());
System.out.println("absolutepath=" + file.getAbsolutePath());
System.out.println("name=" + file.getName());
}
else if (file.isDirectory()) {
System.out.println("文件夾");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (!readfile.isDirectory()) {
System.out.println("path=" + readfile.getPath());
System.out.println("absolutepath=" + readfile.getAbsolutePath());
System.out.println("name=" + readfile.getName());
}
else if (readfile.isDirectory()) {
readfile(filepath + "\\" + filelist[i]);
}
}
}
}
catch (FileNotFoundException e) {
System.out.println("readfile() Exception:" + e.getMessage());
}
return true;
}
public static void main(String[] args) {
try {
readfile("D:/file");
//deletefile("D:/file");
}
catch (FileNotFoundException ex) {
}
catch (IOException ex) {
}
System.out.println("ok");
}
}
『柒』 初學java不久,剛寫了個刪除文件或文件夾的方法, 第一種形式: private void deleteFile(File file) { if
你少看了一個中括弧。
兩種差不多,不過第一種形式不規范,如果函數的parameter是文件,那麼在第一個if里已經刪除了。後面一個就刪除一個已經刪除的文件。如果是文件夾,那麼就把這個文件夾刪除。如果要規范化,直接把
if (file.isFile()) {
file.delete();
}else
去掉,只加一句isDirectory的判斷。
即,程序改為:
private void deleteFile(File file) {
if (file.isDirectory()) {//Delete all files in the directory, if it's the case
File files[] = file.listFiles();
for (int i = 0; i < files.length; i++) {
this.deleteFile(files[i]);
}
}
else if (!file.exists()) {//File not exist
System.out.println("所刪除的文件不存在!" + '\n');
return;
}
file.delete();//Delete the file or the directory
}
第二種形式,如果是文件,刪除文件;如果是文件夾,刪除文件夾中的內容,然後刪除文件夾本身。
------------------------------------------
總結,第一種形式在file是文件類型的時候重復刪除,第二種形式沒有這個問題。並不是在for裡面外面的區別。:)
『捌』 java刪除文件夾怎麼刪
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;
}
}
『玖』 Java:刪除某文件夾下的所有文件該如何實現呢
先讀取整個目錄,循環遍歷目錄下所有文件,判斷是否為文件夾 使用file.isDirectory() ,它返回的布爾值,是文件夾返回true,如果返回是false值,就file.delete(),這樣就可以滿足你要的效果了,望採納謝謝。
『拾』 Java中如何進行文件(及文件夾)的新建,移動,刪除等給出代碼
File
F=new
File(路徑);/通過將給定路徑名字元串轉換為抽象路徑名來創建一個新
File
實例。
F.delete();//刪除此抽象路徑名表示的文件或目錄。
文件的移動的話,得通過輸入輸出流
FileInputStream
FI=new
FileInputStream(F);
FileOutputStream
FO=new
FileOutputStream(F);
wile(FI.read()!=EOF)
{
FO.write();
}