In this particular case, I would recommend to use .NET API:
>>> include System::IO
=> Object
>>> stream = FileStream.new("c:\\temp\\a.txt", FileMode.Open, FileAccess.Read)
=> System.IO.FileStream
>>> "".Append(stream, stream.Length)
=> "hello"
Tomas
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Håkon Clausen
Sent: Thursday, October 22, 2009 2:13 PM
To: [email protected]
Subject: [Ironruby-core] byte[] to ruby string
Hello,
I'm struggling with converting a byte array into a ruby binary string.
Does anybody know how to make something like this pass?
require 'test/unit'
include System::IO
class Binstring < Test::Unit::TestCase
def test_binstring_bytea
fileName = 'flowers.jpg'
#Ruby way
data1 = File.read(fileName)
#.Net
fs = FileStream.new(fileName, FileMode.Open, FileAccess.Read);
br = BinaryReader.new(fs);
numBytes = FileInfo.new(fileName).Length;
buff = br.ReadBytes(numBytes);
data2 = System::Text::ASCIIEncoding.new.GetString(buff).to_s
assert data1 == data2
end
end
Regards,
Håkon
--
Håkon Clausen
Nosyko AS
"Nobody will ever need more than 640k RAM!" - Bill Gates, 1981.
_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core