2

Simple

How can I get a list of the files that are inside directory using eiffel?

4

2 回答 2

4

例如:


class CARPETAS

creation
    make

feature {NONE}

    make is
      local
          directory: DIRECTORY
          path: STRING
      do
          path := "." -- Current directory
          !!directory.scan_with(path)
          list_directory(directory)
      end

    list_directory(directory: DIRECTORY) is
      local
          i: INTEGER
      do
          std_output.put_string("Content of " + directory.path + "%N")
          from
              i := directory.lower
          until
              i > directory.upper
          loop
              std_output.put_string("%T" + directory.name(i) + "%N")
              i := i + 1
          end
      end
end
于 2010-09-18T23:30:20.237 回答
3

对于最新版本的 Eiffel,我建议使用 DIRECTORY.entries

local
    p: PATH 
do
    across dir.entries as ic loop
        p := ic.item.path
            -- then use interface of PATH, such as PATH.name 
    end
end

请注意,base_extension 库还提供 DIRECTORY_VISITOR ,这有助于在目录上递归迭代

于 2014-01-09T13:35:30.147 回答