Create a file: Difference between revisions
Content added Content deleted
(Add perl) |
|||
Line 39: | Line 39: | ||
my ($filename) = @_; |
my ($filename) = @_; |
||
if(-e $filename) { return " already exists."; } |
if(-e $filename) { return " already exists."; } |
||
open(FH, ">> ". $filename) or return " could not be created."; |
open(FH, ">> ". $filename) or return " could not be created."; |
||
close(FH); |
close(FH); |
||
return " did not exist and was created successfully."; |
return " did not exist and was created successfully."; |
||
} |
} |
||
Line 48: | Line 46: | ||
my ($filename) = @_; |
my ($filename) = @_; |
||
if(-e $filename) { return " already exists."; } |
if(-e $filename) { return " already exists."; } |
||
mkdir($filename) or return " could not be created."; |
mkdir($filename) or return " could not be created."; |
||
return " did not exist and was created successfully."; |
return " did not exist and was created successfully."; |
||
} |
} |
||
Line 66: | Line 62: | ||
# Short version; |
# Short version; |
||
my $FileSeperator = ($^O eq "MSWin32") ? "\\" : "/"; |
|||
open(FH, ">> output.txt") and close(FH); |
open(FH, ">> output.txt") and close(FH); |
||
open(FH, ">> ".$FileSeperator."output.txt") and close(FH); |
open(FH, ">> ".$FileSeperator."output.txt") and close(FH); |
Revision as of 16:04, 7 April 2007
Create 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 create a new empty file called "output.txt" with no content and of size 0 byte and an empty directory called "docs". Assuming current directory or fullpath. Either "/output.txt" or "\output.txt" for the former and "/docs/" or "\docs\" for the second test.
Java
import java.util.File; public class CreateFileTest { public static String createNewFile(String filename) { try { // Create file if it does not exist boolean success = new File(filename).createNewFile(); if (success) { return " did not exist and was created successfully."; } else { return " already exists."; } } catch (IOException e) { return " could not be created."; } } public static void test(String type, String filename) { System.out.println("The following " + type + " called " + filename + createNewFile(filename) ); } public static void main(String args[]) { test("file", "output.txt"); test("file", File.seperator + "output.txt"); test("directory", "docs"); test("directory", File.seperator + "docs" + File.seperator); } }
Perl
sub createNewFile($) { my ($filename) = @_; if(-e $filename) { return " already exists."; } open(FH, ">> ". $filename) or return " could not be created."; close(FH); return " did not exist and was created successfully."; } sub createNewDir($) { my ($filename) = @_; if(-e $filename) { return " already exists."; } mkdir($filename) or return " could not be created."; return " did not exist and was created successfully."; } sub test($$) { my ($type, $filename) = @_; print "The following " . $type . " called " . $filename . ($type eq "file") ? createNewFile($filename) : createNewDir($filename); } my $FileSeperator = ($^O eq "MSWin32") ? "\\" : "/"; test("file", "output.txt"); test("file", $FileSeperator . "output.txt"); test("directory", "docs"); test("directory", $FileSeperator . "docs" . $FileSeperator); exit;
# Short version; my $FileSeperator = ($^O eq "MSWin32") ? "\\" : "/"; open(FH, ">> output.txt") and close(FH); open(FH, ">> ".$FileSeperator."output.txt") and close(FH); mkdir("docs"); mkdir($FileSeperator."docs".$FileSeperator);
Bash
touch output.txt touch /output.txt mkdir docs mkdir /docs
DOS
md docs md \docs