How to delete a folder with files using Java

后端 未结 28 3496
北荒
北荒 2020-11-28 05:36

I want to create and delete a directory using Java, but it isn\'t working.

File index = new File(\"/home/Work/Indexer1\");
if (!index.exists()) {
    index.m         


        
28条回答
  •  借酒劲吻你
    2020-11-28 05:47

    directry cannot simply delete if it has the files so you may need to delete the files inside first and then directory

    public class DeleteFileFolder {
    
    public DeleteFileFolder(String path) {
    
        File file = new File(path);
        if(file.exists())
        {
            do{
                delete(file);
            }while(file.exists());
        }else
        {
            System.out.println("File or Folder not found : "+path);
        }
    
    }
    private void delete(File file)
    {
        if(file.isDirectory())
        {
            String fileList[] = file.list();
            if(fileList.length == 0)
            {
                System.out.println("Deleting Directory : "+file.getPath());
                file.delete();
            }else
            {
                int size = fileList.length;
                for(int i = 0 ; i < size ; i++)
                {
                    String fileName = fileList[i];
                    System.out.println("File path : "+file.getPath()+" and name :"+fileName);
                    String fullPath = file.getPath()+"/"+fileName;
                    File fileOrFolder = new File(fullPath);
                    System.out.println("Full Path :"+fileOrFolder.getPath());
                    delete(fileOrFolder);
                }
            }
        }else
        {
            System.out.println("Deleting file : "+file.getPath());
            file.delete();
        }
    }
    

提交回复
热议问题