2014-04-13 130 views
3

我覺得我做的這一切都錯了,但如果我在目錄foo/這是bar/一個孩子,我做的:File.exists?()在它應該爲true時返回false?

File.exists?(../somefile.rb)

返回false,當它應該是真實的......除非我我做錯了:

bar/ 
    somefile.rb 
    foo/ 
    someotherfile.rb 

someotherfile.rb是一個與代碼,以檢查是否存在somefile.rb

我在做什麼錯 - 我想看看它是否存在,所以我可以打開它。

+2

它在這裏工作正常,請確保目錄結構確實是你說的。另外,確保你沒有改變你的工作目錄。 'Dir.getwd'將返回當前的工作目錄,所以確保你的情況確實是'bar/foo'。 –

+1

'File.exists?'在ruby 2.1中已被棄用 - 使用'File.exist?'代替 –

回答

0

如果進程沒有權限判斷文件是否存在,它將返回false。可能會打開一個文件,但如果它存在,則不能通過普通方法告訴它。

來源: - File.exists() returns false when file exists

+0

您列出的源代碼是針對java的,而不是ruby。雖然處理Windows操作系統的相同問題可能適用,但看到源頁面上的語法讓我感到困惑,直到我意識到他們正在討論java。 –

相關問題