在RubyMotion OSX中获取用户名

时间:2014-05-21 06:52:23

标签: ruby macos osx-mavericks rubymotion fileutils

我需要获取用户的主目录或至少是他的名字。

使用FileUtils,我需要根据帐户名称移动文件,使用~/似乎不起作用。

我如何获得用户的帐户名称?

2 个答案:

答案 0 :(得分:0)

我还不是rubymotion用户,但在大多数红宝石中你可以做到

ENV["HOME"]

表示主目录和

ENV["USER"]

让用户使用定义的环境变量完全实现。

答案 1 :(得分:0)

要访问文档的路径并在OSX中创建一个新文件夹,您可以这样做。

directory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true).first
directory = directory.stringByAppendingPathComponent("Sub Folder")

fileManager = NSFileManager.defaultManager

fileExists = fileManager.fileExistsAtPath(directory)
if (fileExists)
  NSLog("Folder already exists")
else
  if(!fileManager.createDirectoryAtPath(directory, withIntermediateDirectories:true, attributes: nil, error: nil))
    NSLog("Failed to create folder")
  else
    NSLog("Successfully created folder")
  end
end

如果您想要的只是用户帐户的名称,则可以使用NSHost


对于主目录,您可以使用NSHomeDirectory。

fm = NSFileManager.defaultManager
directory = NSSearchPathForDirectoriesInDomains(NSHomeDirectory, NSUserDomainMask, true).first
fm.contentsOfDirectoryAtPath(directory, error: nil).each do |file|
  puts file # outputs each file under the home directory
  // Copy file here using NSFileManager
end

然后您可以使用NSFileManager的copyItemAtPath