Delete a file: Difference between revisions
Content added Content deleted
Line 41: | Line 41: | ||
# Safety check: |
# Safety check: |
||
# unlink directory is DANGEROUS and unsupported unless root and -U. |
# unlink directory is DANGEROUS and unsupported unless root and -U. |
||
# See: http://perldoc.perl.org/functions/unlink.html |
|||
# |
|||
if ($type eq "file" && -d $filename) { $type = "directory"; } |
if ($type eq "file" && -d $filename) { $type = "directory"; } |
||
# |
# |
Revision as of 16:12, 7 April 2007
Delete a file
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
In this task, the job is to delete a file called "input.txt" and delete a directory called "docs". Assuming current directory or fullpath. Either "/input.txt" or "\input.txt" for the former and "/docs/" or "\docs\" for the second test.
Java
import java.util.File; public class FileDeleteTest { public static boolean deleteFile(String filename) { boolean exists = new File(filename).delete(); return exists; } public static void test(String type, String filename) { System.out.println("The following " + type + " called " + filename + (deleteFile(filename) ? " was deleted." : " could not be deleted.") ); } public static void main(String args[]) { test("file", "input.txt"); test("file", File.seperator + "input.txt"); test("directory", "docs"); test("directory", File.seperator + "docs" + File.seperator); } }
Perl
sub deleteFile($) { my ($filename) = @_; return unlink($filename); } sub deleteDir($) { my ($filename) = @_; return rmdir($filename); } sub test($$) { my ($type, $filename) = @_; # Safety check: # unlink directory is DANGEROUS and unsupported unless root and -U. # See: http://perldoc.perl.org/functions/unlink.html if ($type eq "file" && -d $filename) { $type = "directory"; } # my $b = ($type eq "file") ? deleteFile($filename) : deleteDir($filename); print "The following " . $type . " called " . $filename . ($b ? " was deleted." : " could not be deleted."); } test("file", "input.txt"); test("file", $FileSeperator . "input.txt"); test("directory", "docs"); test("directory", $FileSeperator . "docs" . $FileSeperator);
# Short version unlink("input.txt"); unlink($FileSeperator . "input.txt"); rmdir("docs"); rmdir($FileSeperator . "docs" . $FileSeperator);