Logo

Programming-Idioms

Create the list x containing the contents of the directory d.

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

Implementation edit is for fixing errors and enhancing with metadata. Please do not replace the code below with a different implementation.

Instead of changing the code of the snippet, consider creating another Dart implementation.

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating material.

Please try to avoid dependencies to third-party libraries and frameworks.

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

auto main(int argc, char** argv) -> int {
  auto path = argc >= 2
    ? std::filesystem::path(argv[1])
    : std::filesystem::current_path();

  for (auto entry : directory_contents(path)) {
    std::cout << entry.string() << std::endl;
  }
}