如何检测目录是否可以在Ruby中写入

我正在使用 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,您需要 win32-file gem中的 File.attributesFile.readonly?方法.

你应该考虑为Daniel Berger做出贡献,因为如果没有他的win32- gems,Ruby on Windows将是一个更加敌对的地方.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...