2014-01-29 43 views

回答

5

在双引号字符串, “\ a” 是一个不可打印贝尔字符。与“\ n”是换行符相似。 (我认为这些起源于C)

您没有名为“C:<BEL> bc.rb”的文件,这i系为您显示错误文件的原因。

要修复,使用单引号,而这些插不发生:

content = File.read('C:\abc.rb') 
+2

尽管最简单的方法是在路径中随处使用正斜杠。 Ruby明白这一点。 'File.read(“C:/abc.rb”,“r”)' –

+0

我使用了你的代码行......但仍然出现错误:即使我可以看到这样的文件或目录abc.rb文件存在 – user1400915

+0

不知道那么:(它适用于我,虽然我必须删除无效的第二个参数,当我来测试它。 –

1

首先:

尝试使用:

Dir.glob(".") 

,看看有什么在目录(因此它看起来在什么目录)。

open("C:/abc.rb", "rb") { |io| a = a + io.read } 

编辑:除非你是串联在一起的文件,你可以写为:

data = File.open("C:/abc.rb", "rb") { |io| io.read } 
1
content = File.read("C:\/abc.rb","r") 
+1

你不是说' “C:\\ abc.rb”'或'“C:/abc.rb “'?逃避斜线是好的,但有点误导。 –

相关问题