【问题标题】:File.exists?() returns false when It should be true?File.exists?() 当它应该为真时返回假?
【发布时间】:2014-04-13 16:59:53
【问题描述】:

我认为我做错了,但如果我在目录 foo/ 中,它是 bar/ 的子目录,我会这样做:

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

当它应该为真时它返回假......除非我做错了:

bar/
  somefile.rb
  foo/
    someotherfile.rb

someotherfile.rb 是带有检查somefile.rb 是否存在的代码。

我做错了什么 - 我想看看它是否存在,所以我可以打开它。

【问题讨论】:

  • 这里可以正常使用,请确保目录结构确实如您所说。另外,请确保您没有更改工作目录。 Dir.getwd 将返回当前工作目录,因此请确保在您的情况下确实是 bar/foo
  • File.exists? 实际上在 ruby​​ 2.1 中已被弃用 - 请改用 File.exist?

标签: ruby file-io


【解决方案1】:

如果进程没有权限判断文件是否存在,它将返回 false。可以打开一个文件,但不能通过常规方法判断它是否存在。

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

【讨论】:

  • 您列出的源代码是用于 java,而不是 ruby​​。虽然处理 Windows 操作系统的相同问题可能适用,但看到源页面上的语法让我吓坏了,直到我意识到他们在讨论 java。
猜你喜欢
  • 2013-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-10
  • 1970-01-01
  • 2021-08-09
  • 2013-07-21
相关资源
最近更新 更多