将文件列表从一个目录复制到另一个目录 - 如何将文本文件放入数组?

时间:2013-09-25 20:39:29

标签: ruby arrays file-io

长期潜伏者,第一次发帖!我是Ruby的新手,所以我希望得到一些帮助。

我有一个大文本文件,其中有一个由中断分隔的文件列表,所以它看起来像这样:

ARO_9501.jpg
ARO_9506.jpg
IMG_1499.jpg
IMG_1511.jpg

如何将此文本文件放入数组中,以便我可以调用.each并将文件复制到另一个目录?

2 个答案:

答案 0 :(得分:0)

你也可以使用IO::readlines

ar = File.open("/home/kirti/ruby/foo.txt","r") do |fil|
    fil.readlines.map(&:strip)
end
p ar
# >> ["ARO_9501.jpg", "ARO_9506.jpg", "IMG_1499.jpg", "IMG_1511.jpg"]

根据@steenslag评论:

ar = File.readlines("/home/kirti/ruby/foo.txt").map(&:chomp)
ar # => [ "ARO_9501.jpg", "ARO_9506.jpg", "IMG_1499.jpg", "IMG_1511.jpg"]

答案 1 :(得分:0)

这就是我一般的做法:

fileNameArray = File.read("/path/to/file.txt").split("\n")

或者,如果您只需要遍历文件名并且不一定需要包含名称的数组(看起来您没有),我通常会使用它:

File.read("/path/to/file.txt").each_line do |line|
  # do operations using line
end

文档:
IO::readFile延伸IO
      String .split()each_line()