public boolean createAndDeleteFile(String filePath,String fileName) throws IOException
{
boolean result = false;
File file = new File(filePath,fileName);
if(file.exists())
{
file.delete();
result = true;
System.out.println(文件已经删除!);
}
else
{
file.createNewFile();
result = true;
System.out.println(文件已经创建!);
}
return result;
}
创建和删除目录
@param folderName
@param filePath
@return 删除成功返回true
public boolean createAndDeleteFolder(String folderName,String filePath)
{
boolean result = false;
try
{
File file = new File(filePath+folderName);
if(file.exists())
{
file.delete();
System.out.println(目录已经存在,已删除!);
result = true;
}
else
{
file.mkdir();
System.out.println(目录不存在,已经建立!);
result = true;
}
}
catch(Exception ex)
{
result = false;
System.out.println(CreateAndDeleteFolder is error+ex);
}
return result;
}
public void readFolderByFile(String filePath)
{
File file = new File(filePath);
File[] tempFile = file.listFiles();
for(int i = 0;itempFile.length;i++)
{
if(tempFile[i].isFile())
{
System.out.println(File +tempFile[i].getName());
}
if(tempFile[i].isDirectory())
{
System.out.println(Directory +tempFile[i].getName());
}
}
}
{
boolean result = false;
File file = new File(filePath,fileName);
if(file.exists())
{
file.delete();
result = true;
System.out.println(文件已经删除!);
}
else
{
file.createNewFile();
result = true;
System.out.println(文件已经创建!);
}
return result;
}
创建和删除目录
@param folderName
@param filePath
@return 删除成功返回true
public boolean createAndDeleteFolder(String folderName,String filePath)
{
boolean result = false;
try
{
File file = new File(filePath+folderName);
if(file.exists())
{
file.delete();
System.out.println(目录已经存在,已删除!);
result = true;
}
else
{
file.mkdir();
System.out.println(目录不存在,已经建立!);
result = true;
}
}
catch(Exception ex)
{
result = false;
System.out.println(CreateAndDeleteFolder is error+ex);
}
return result;
}
public void readFolderByFile(String filePath)
{
File file = new File(filePath);
File[] tempFile = file.listFiles();
for(int i = 0;itempFile.length;i++)
{
if(tempFile[i].isFile())
{
System.out.println(File +tempFile[i].getName());
}
if(tempFile[i].isDirectory())
{
System.out.println(Directory +tempFile[i].getName());
}
}
}
File myPath = new File(path);
if (myPath.isDirectory()) {
String strSubs[] = myPath.list();
for (int i = 0; i < strSubs.length; i++){
File file = new File(strSubs[i]);
if (file.isFile()){
file.delete();
}
}
}
}
public static void deleteFilesInFolder(String path, boolean isDeleteSubs){
File myPath = new File(path);
if (myPath.isDirectory()) {
String strCurPath = myPath.getPath();
String strSubs[] = myPath.list();
for (int i = 0; i < strSubs.length; i++){
String subFile = strCurPath + File.separator + strSubs[i];
File file = new File(subFile);
if (file.isFile()){
file.delete();
}
else if(isDeleteSubs && file.isDirectory()){
deleteFilesInFolder(subFile, true);
}
}
}
}用deleteFilesInFolder(path, true);
public static void deleteFileInFolder(String strPath) {
File myPath = new File(strPath);
if (myPath.isDirectory()) {
String strSubs[] = myPath.list();
for (int i = 0; i < strSubs.length; i++) {
int iPathLen = strPath.length();
if (!strPath.substring(iPathLen - 1, iPathLen).equals("\\"))
strPath += "\\";
String strFileName = strPath + strSubs[i];
File file = new File(strFileName);
if (file.isFile()) {
file.delete();
}
}
}
}
{
if (true == dir.isFile())
{
return dir.delete();
} if ( (null == dir) || !dir.isDirectory())
{
return false;
} File[] entries = dir.listFiles();
int size = entries.length; for (int i = 0; i < size; i++)
{
if (entries[i].isDirectory())
{
if (!deleteDirectoryOrFile(entries[i]))
{
return false;
}
}
else
{
if (!entries[i].delete())
{
return false;
}
}
} if (!dir.delete())
{
return false;
}
dir.delete();
return true;
}
file.delete();
}
换成
if (file.isDirectory()){
file.delete();
}
就是删目录。
public static void deleteFolder(String strPath) {
File myPath = new File(strPath);
if (myPath.isDirectory()) {
myPath.delete();
}
}
我怎么删不掉
{
File file = new File(path) ; if(!file.exists()) return false; //文件或不存在 //如果是目录,则应先删除目录下所有子目录和文件后才能删除该目录
//否则会产生异常
if(file.isDirectory())
{
File[] subFiles = file.listFiles();
for(int i=0; i<subFiles.length; ++i)
{
//如果是子目录,则也要用相同的方法先删除其下子目录和文件
if(subFiles[i].isDirectory()) deleteAllOfAFolder(subFiles[i].toString());
subFiles[i].delete();
}
} //如果是目录,也完全删除它里面的东西了
//可以删除这个目录了
file.delete(); return true;
}
如果只是想删除目录下所有子目录和文件
则可以在file.delete()后面再加一个file.mkdir()还有一个问题就是……
我刚试了一下,
当目录下还有文件时,
没法删除该目录
但捕捉不到异常
真是奇怪!
import javax.swing.JOptionPane;
public class Test
{
static boolean deleteAllOfAFolder(String path, boolean root)
{
try{
File file = new File(path) ;
if(!file.exists())
{
JOptionPane.showMessageDialog(null, "文件或目录不存在!");
return false; //文件或不存在
}
if(root && 0!=JOptionPane.showConfirmDialog(null,"确定要删除"+file.getName()+"吗?"))
{
JOptionPane.showMessageDialog(null, "删除操作已取消!");
return false;
}
//如果是目录,则应先删除目录下所有子目录和文件后才能删除该目录
//否则会产生异常
if(file.isDirectory())
{
File[] subFiles = file.listFiles();
for(int i=0; i<subFiles.length; ++i)
{
//如果是子目录,则也要用相同的方法先删除其下子目录和文件
if(subFiles[i].isDirectory()) deleteAllOfAFolder(subFiles[i].toString(), false);
subFiles[i].delete();
}
} //如果是目录,也完全删除它里面的东西了
//可以删除这个目录了
if(!file.delete())
{
JOptionPane.showMessageDialog(null,"删除失败!可能是文件正在使用当中!");
return false;
} }
catch(NullPointerException ex)
{
JOptionPane.showMessageDialog(null, "请输入文件路径!");
return false;
}
catch(Exception ex)
{
ex.printStackTrace();
return false;
}
if(root) JOptionPane.showMessageDialog(null, "已删除!");
return true;
}
public static void main (String args [])
{
String path = JOptionPane.showInputDialog("请输入文件或目录路径!");
try{
deleteAllOfAFolder(path,true) ;
}
catch(Exception e){
e.printStackTrace();
}
System.exit(0) ;
}
}