Delete a file: Difference between revisions

From Rosetta Code
Content added Content deleted
(Tried to clarify task)
(Added Toka)
Line 59: Line 59:
rmdir("docs");
rmdir("docs");
rmdir($FileSeperator . "docs" . $FileSeperator);
rmdir($FileSeperator . "docs" . $FileSeperator);

==[[Toka]]==
[[Category:Toka]]

needs shell
" docs" remove
" input.txt" remove

Revision as of 01:45, 14 May 2007

Task
Delete a file
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". This should be done twice: once "here", i.e. in the current working directory and once in the filesystem root.


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);

Toka

 needs shell
 " docs" remove
 " input.txt" remove