如何在特定目录中创建新文件。 我创建了此类:

class FileManager

    def initialize()

    end

    def createFile(name,extension)
        return File.new(name <<"."<<extension, "w+")
    end
end

我想指定在其中创建文件的目录(路径)。 如果这个不存在,将创建他。 那么,在文件创建之后,我是否必须使用此处所示的fileutils ,还是可以在创建时直接指定创建文件的位置?

谢谢

#1楼 票数:30 已采纳

以下代码检查您传入的目录是否存在(使用File.dirname从路径中拉出目录),如果不存在,则创建该目录。 然后,它将像以前一样创建文件。

require 'fileutils'

def create_file(path, extension)
  dir = File.dirname(path)

  unless File.directory?(dir)
    FileUtils.mkdir_p(dir)
  end

  path << ".#{extension}"
  File.new(path, 'w')
end

  ask by bAN translate from so

未解决问题?本站智能推荐:

2回复

使用Ruby从MySQL DB创建CSV文件而不创建文件

当我尝试使用ruby从MySQL数据库创建CSV文件时,未创建任何文件,并且未返回任何错误。 这是在Windows 10计算机上。 这是我的代码: 我知道这不是权限错误,因为如果我直接将该语句输入MySQL,它就可以正常工作。 有任何想法吗? 还是另一种解决方法? 谢谢
1回复

在ruby中,无法从指定位置打开文本文件,也无法打开我自己创建的文件

我有一个文件放置在C:\\ mtn-2 \\ mtn-2.2 \\ logs \\ messages.txt中,如果试图通过脚本打开此文件,它说没有这样的文件或目录,所以我创建了另一个文件.txt在同一位置,并尝试通过ruby脚本打开其工作文件。 messages.txt文件能够手动重命名/修
8回复

如何使用ruby在目录中获取文件数

使用ruby如何获取给定目录中的文件数,文件计数应包括来自递归目录的计数。 例如:folder1(2个文件)-----> folder2(4个文件),folder2在folder1中。 上述案例的总数应为6个档案。 在ruby中是否有任何函数可以获取此数据。
1回复

Ruby:在所有目录中搜索文件时忽略目录中的句点?

我创建了一个查找脚本,以在运行脚本的所有目录中的文件中搜索文本。 它可以工作,但是由于我正在搜索的目录包含带句点的目录名称,所以出现此错误。 我该怎么读这些书?
1回复

使用File.open从ruby目录中打开文件

我是Ruby的新手,我试图以这样的方式打开文件: 但是我得到“没有这样的文件或目录”(该文件确实存在于该目录中)。 如果我将该路径作为命令行参数放在文件中,例如: 然后从命令行运行,如:ruby script.cgi~ / path / to / file.txt 任何想
2回复

系统地更改Ruby目录中的文件名

我想获取特定目录中的所有文件,然后将gsub(/ abc /,'z')应用于所有文件名,并基本上重新保存新文件名下的文件,我该怎么做? 我一直在看文件,但我似乎没有它需要的任何参数,也就是文件名等。 中号
1回复

Ruby-如何减去两个文件的数量并将结果保存在指定位置的其中一个文件中?

我有2个txt文件,其中用不同的字符串和数字分隔; 现在我需要减去(((文件1中位置2上的数字)--(文件2中位置25上的数字)))=结果现在我想用结果替换((文件1中位置2上的数字))。 我在下面尝试了我的代码,但是它仅将数字附加在文件的末尾,而不是附加在计算结果上的数字。
2回复

如何将文件下载/写入特定目录?

如何指定下载目录? 我尝试了这个: 但这是行不通的。 我什至不知道文件加载到哪个目录。