Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #180 List files in directory

Create list x containing the contents of directory d.

x may contain files and subfolders.
No recursive subfolder listing.

#include <dirent.h>
struct dirent ** x = NULL;
int n = scandir (p, &x, NULL, alphasort);
(def x ((comp file-seq clojure.java.io/file) d))
using System.IO
var files = Directory.GetFiles(dirPath);
import std.file;
auto x = dirEntries(d, SpanMode.shallow);
import "io/ioutil"
x, err := ioutil.ReadDir(d)
import java.io.File;
final File directory = new File(dirPath);
final File[] files = file.listFiles();
$x = scandir($d);
FileUtil
x := FindAllFiles(d, '*', False);
SysUtils, Classes
  if FindFirst(IncludeTrailingPathDelimiter(d) + '*', 
               faAnyFile and (not faDirectory), SR) = 0 then
  repeat
    x.Add(SR.Name);
  until FindNext(SR) <> 0;
  FindClose(SR);
use File::Basename;
my @x = map {basename $_} glob("$d/*");
opendir my $dh, $d or die "Could not open $d for reading: $!\n";
@x = readdir $dh;
closedir $dh;
import os
x = os.listdir(d)
x = Dir.children(d)
use std::fs;
let x = fs::read_dir(d).unwrap();
let x = std::fs::read_dir(d)?.collect::<Result<Vec<_>, _>()?;

Do you know the best way to do this in your language ?
New implementation...

Idiom created by

programming-idioms.org