File I/O Part 1
2008-06-27I love to learn and try new languages. Not only is learning a new language fun, many times it teaches me something new about a language that I am already familiar with. The only problem that I have with learning so many languages, is keeping them straight. I decided that I would take a few of the dynamic languages I use most often and compile a list of how to handle File I/O with each of them. If you have a Dynamic language(part 2 of this post will be on static languages) not represented below or have another method of File I/O with the represented languages, please add to the list with its respective File I/O code:D Without further ado…
//Groovy open file for writing
def target ="filename"
File wf= new File(target)
wf.write( "I am in your file eating your space" )
//Groovy one liner
new File('filename.txt').text = 'First line of text!'
//Groovy open file for appending
def target ="filename"
File af= new File(target)
af.append("I have all of your base")
//Groovy read each line in file
new File("filename").eachLine{line-> println line}
//Groovy read whole document and put into List
List lines = new File("filename").readLines()
//lines contains two lines that we need
println "first line $lines[0]"
println "second line $lines[1]"
//Groovy reading one line
File rf= new File("filename") //open for reading
//read first line, trim, assign to tmp
rf.withReader { line ->tmp = line.readLine().trim()}
//Groovy test if file exists
File src = new File(srcFile)
if (src.exists() ){ println "I exist"}
else{println "I don't exist"}
#Ruby openfile for reading
fh = File.new(path, "r") # open file "path" for reading only
fh.close
#Ruby open file for writing
fout = File.new(path, "w") # open file "path" for writing only
fout.puts "Up, Up, Down, Down, Left, Right, Left, Right, B, A, Select, Start"
fout.close
#Ruby open file for apending
fa= File.new("DeleteMe.txt","a")
fa.puts "I am at the end of file"
fa.close
#Ruby read eachline in a file
File.open("file").each { |line| p line}
#Ruby read entire file to string
fh = File.new(filename)
str = fh.read
#Ruby read entire file into array(each line is an element in the array)
fh = File.new(filename)
str = fh.readlines
#Python Write a file
fout = open("DeletMe.txt", "w")
fout.write("Writing to fout\nCheck it out!")
fout.close()
#Python Read an entire file
fin = open("ReadingTest.txt", "r")
fin_text = fin.read()
fin.close()
print fin_text
#Python read entire file into list
fin = open("ReadingTest.txt", "r")
txt= fin.readlines()
fin.close()
print txt[0]
#Python append to a file
fh= open ( 'DeleteMe.txt', 'a' )
fh.write ( '\n\n\nBottom line.' )
fh.close()
#Perl reading a file
open(FILE, '<', $file) or die "Can't read $file: $!\n";
while(<FILE>)
{
print ;
}
#Perl append to a file
open(FILE, '>>', $file) or die "Can't append to $file: $!\n";
print FILE "text";
close(FILE);
#Perl read and write to a file
#+< allows reading and writing, and keeps the data that was
#already in the file. open() will fail if file doesn't exist.
open(FILE, "+<$file" ) or die ("Can't read|write: $file\n");
close(FILE);
#Perl read and write to a file
#+>allows writing and reading, but replaces/overwrites the
#data in the file if the file exists. Creates it if it doesn't exist.
open(FILE, "+>$file" ) or die ("Can't write or read:$file \n");
close(FILE);
// php5 open a file read contents into an Array
$ary = $file($path_to_file);
// php5 open a file for append
$fh=fopen($filename,'a');
fwrite($fh,"content goes here");
fclose($fh);
// php5 open a file and write to it
$fh = fopen($filename, 'w');
fwrite($fh, "content goes here");
fclose($fh);