Here you can find the source of delete(File file)
Parameter | Description |
---|---|
file | the file to delete |
Parameter | Description |
---|---|
IOException | if the given file does not exist |
true
if and only if the file or directory is successfully deleted; false
otherwise
public static boolean delete(File file) throws IOException
//package com.java2s; /*/*from ww w . j av a2 s. co m*/ * org.daisy.util (C) 2005-2008 Daisy Consortium * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ import java.io.File; import java.io.IOException; public class Main { /** * Deletes the given file or directory. If the argument is a directory, then * the directory is deleted recursively. * * @param file * the file to delete * @return <code>true</code> if and only if the file or directory is * successfully deleted; <code>false</code> otherwise * @throws IOException * if the given file does not exist */ public static boolean delete(File file) throws IOException { if (!file.exists()) throw new IOException(file.getName() + " does not exist"); if (isSymlink(file)) { return true; } boolean result = true; if (file.isDirectory()) { File[] children = file.listFiles(); if (children != null) { for (File child : children) { result &= delete(child); } } } result &= file.delete(); return result; } /** * Checks whether a file is a symbolic link. * @param file the file to test * @return <code>true</code> if the file is a symbolic link, <code>false</code> otherwise * @throws IOException */ public static boolean isSymlink(File file) throws IOException { File parent = file.getParentFile(); File test = new File(parent.getCanonicalFile(), file.getName()); return !test.getAbsolutePath().equals(test.getCanonicalPath()); } }