IO
=begin #gets语句在sublime不可运行,在Dos窗口可运行 puts "Enter a value :" val = gets puts val putc "hello" # h #打开、关闭文件 file = File.new("filename","r") #...处理文件 file.close #File.open方法与new类似,但不同点在于File.open可与块相联 File.open("filename","mode") do |aFile| #...处理文件 end =end File.open("e:\\test.txt","r") do |file| # "r"可省略 while line = file.gets puts line end end #读文件 file = File.open("e:\\test.txt","r") if file content = file.sysread(20) puts content else puts "can't open txt" end #写文件 file = File.open("e:\\test.txt","w") if file file.syswrite("modif") else puts "can't open txt" end #读到字符串里 str = IO.read("e:\\test.txt") puts str #读到数组里 arr = IO.readlines("e:\\test.txt") puts arr[0] #each_byte 可以迭代字符串中每个字符 File.open("e:\\test.txt","r") do |file| file.each_byte {|ch| putc ch;print "."} end #foreach与块相关联,逐行返回输出,不像方法 readlines,方法 foreach 不是返回一个数组 IO.foreach("e:\\test.txt"){|block| puts block}