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.
C
ISO C: <c>#include <stdio.h>
int main() {
remove("input.txt"); remove("/input.txt"); remove("docs"); remove("/docs"); return 0;
}</c>
POSIX: <c>#include <unistd.h>
int main() {
unlink("input.txt"); unlink("/input.txt"); rmdir("docs"); rmdir("/docs"); return 0;
}</c>
D
<d>import tango.io.Path;
void main() {
remove("input.txt"); remove("/input.txt"); remove("docs"); remove("/docs");
}</d>
POSIX: <d>import tango.stdc.posix.unistd;
void main() {
unlink("input.txt"); unlink("/input.txt"); rmdir("docs"); rmdir("/docs");
}</d>
Forth
There is no means to delete directories in ANS Forth.
s" input.txt" delete-file throw s" /input.txt" delete-file throw
Haskell
import System.IO import System.Directory main = do removeFile "output.txt" removeDirectory "docs" removeFile "/output.txt" removeDirectory "/docs"
Io
Directory fileNamed("input.txt") remove Directory directoryNamed("docs") remove RootDir := Directory clone setPath("/") RootDir fileNamed("input.txt") remove RootDir directoryNamed("docs") remove
Java
<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); }
}</java>
MAXScript
There's no way to delete folders in MAXScript
-- Here deleteFile "input.txt" -- Root deleteFile "\input.txt"
OCaml
<ocaml>Sys.remove "input.txt";; Sys.remove "/input.txt";;</ocaml>
with the Unix library: <ocaml>#load "unix.cma";; Unix.unlink "input.txt";; Unix.unlink "/input.txt";; Unix.rmdir "docs";; Unix.rmdir "/docs";;</ocaml>
Perl
<perl>use File::Spec::Functions qw(catfile rootdir);
- here
unlink 'input.txt'; rmdir 'docs';
- root dir
unlink catfile rootdir, 'input.txt'; rmdir catfile rootdir, 'docs';</perl>
Without Perl Modules
Current directory
perl -e 'unlink input.txt' perl -e 'rmdir docs'
Root Directory
perl -e 'unlink "/input.txt"' perl -e 'rmdir "/docs"'
PowerShell
Delete-Item input.txt
# Can also use the del alias for the Delete-Item cmdlet del input.txt
Python
<python>import os
- current directory
os.remove("output.txt") os.rmdir("docs")
- root directory
os.remove("/output.txt") os.rmdir("/docs")</python>
Raven
'input.txt' delete '/input.txt' delete 'docs' rmdir '/docs' rmdir
Ruby
#!/usr/bin/env ruby File.delete("output.txt", "/output.txt") Dir.delete("docs") Dir.delete("/docs")
Toka
needs shell " docs" remove " input.txt" remove
UNIX Shell
rm -rf docs rm input.txt rm -rf /docs rm /input.txt
Visual Basic .NET
Platform: .NET
'Current Directory IO.Directory.Delete("docs") IO.Directory.Delete("docs", True) 'also delete files and sub-directories IO.File.Delete("output.txt") 'Root IO.Directory.Delete("\docs") IO.File.Delete("\output.txt") 'Root, platform independent IO.Directory.Delete(IO.Path.DirectorySeparatorChar & "docs") IO.File.Delete(IO.Path.DirectorySeparatorChar & "output.txt")