A Ruby method to read in an entire file as a string

By Alvin J. Alexander, devdaily.com

Here's a sample Ruby program that shows how to read in a file as one string. You just have to pass a file name in to the get_file_as_string method, and the method will slurp in all the records from the file, and return the contents of the file as a string.

def get_file_as_string(filename)
  data = ''
  f = File.open(filename, "r") 
  f.each_line do |line|
    data += line
  end
  return data
end

##### MAIN #####

xml_data = get_file_as_string 'Pizza.hbm.xml'

# print out the string
puts xml_data

As you can see from the example code I'm using this method to read in a Hibernate XML configuration file, which I'm about to parse. However, in this example I'm just using puts to write the file out to my screen to make sure I'm reading it correctly (instead of parsing it using an XML parser, which I hope to show shortly).


devdaily logo