ruby - 如何检测目录是否可写在 Ruby 中

标签 ruby file permissions directory writable

我正在使用 Ruby,需要在尝试创建新文件之前检测目录是否可写。

我已经尝试了下面的代码,它根据@path 是否是一个目录正确地返回 true/false。 但是,当没有对@path 文件夹的写权限时,它仍然返回 true。

  if File.directory?(@path) && File.writable?(@path)
    #is a writeable directory
    true
  else
    #is not a writeable directory
    false
  end

我查看了 File 和 Dir 类的帮助,但看不到任何允许我检查目录写入权限的方法。有办法吗?

我只需要它在 Windows 上运行,使用 Ruby 1.9.3。

最佳答案

对于 Windows,您需要 File.attributesFile.readonly?来自 win32-file 的方法 gem 。

您应该考虑为 Daniel Berger 做贡献,因为如果没有他的 win32-gems,Windows 上的 Ruby 将变得更加敌对。

关于ruby - 如何检测目录是否可写在 Ruby 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9016577/

相关文章:

PHP:如何获取文件创建日期?

php - 使用 xampp 的 PHP 应用程序的权限被拒绝

java - 我可以使用预配置的机器镜像,并在具有 diff.RAM+CPU 的机器上预安装了 Ruby/Java

ruby-on-rails - 如何编写 Rails 4 测试以使用 omniauth-google-oauth2 gem 创建 session ?

ios - 如何简单存储一些文件

c# - 授予ASPNETDB.MDF SQL DB IIS_IUSRS权限

javascript - 是否可以在使用 chrome.tabCapture API 录制的 chrome 中切换录制选项卡

ruby - 在 Ruby 1.8.7 中使用标题大小写

ruby-on-rails - ActiveRecord 关联选择包含记录的计数

python - 读取文件并将内容插入字典