#建立一个222.rb文件并且输入字符
file=File.open("222.rb","w+")
file.puts"123\nwadwa\n12124124\ndwdw"
file.close
#输出222.rb的内容
File.open("222.rb","r+")do|file|
whileline=file.gets
putsline
end
end
#直接用IO操作文件
IO.foreach("222.rb")do|line|
putslineifline=~/abc/#输出匹配到了'abc'的所在行
putslineifline!~/qwe/#输出没有匹配到'qwe'的所在行
end
#输出文件的绝对路径
putsFile.expand_path("222.rb")
#countcharsfromafile
file=File.new("222.rb")
w_count=0
file.each_bytedo|byte|
w_count+=1ifbyte==?1
end
puts"#{w_count}"
#createnewfileandwritesomewordsthere
print"Thefilenowisexist?-->"
putsFile.exist?("asd.txt")#判断文件是否存在
file=File.new("asd.txt","w")
print"Thefilenowisexist?-->"
putsFile.exist?("asd.txt")
file.write("hehe\nhahah")
#io.streamoperation
require'stringio'
ios=StringIO.new("abcdef\nABC\n12345")
ios.seek(5)#把偏移指针移到5(e字母所在位置)
ios.puts("xyz3")#从5开始覆写原有数据
putsios.tell#tell--Returnsthecurrentoffset(inbytes)ofios.
putsios.string
putsios.string.dump#忽略\n的转义
#anotherexample
require'stringio'
ios=StringIO.new("abcdef\nq9ert\n12345")
ios.seek(3)
ios.ungetc(?w)#replacethecharatindex3
puts"Ptr=#{ios.tell}"
s1=ios.gets#filtethe"\n"
s2=ios.gets
putss1
putss2
#Ruby打开文件并写入数据操作
txt=File.open("文件路径","w+")
txt.puts'要写入的文件内容'
txt.close
#从文件里读取数据
num=File.readlines("文件路径")[0].chomp
#打开文件的方法
system("notepad文件路径")