On this page:
make-directory-tree
make-non-conflicting-filename
make-non-conflicting-path
read-file->string
concatenate-files
Version: 4.0.2.5

11 File and path utilities

 (require (planet untyped/unlib/file))

Utilities for manipulating files and paths.

(make-directory-tree tree)  void?

  tree : folders-spec

Creates a directory tree in the current directory that matches tree, which is a tree of strings of type folders-spec:

folders-spec ::= (listof folder-spec)

folder-spec  ::= string folders-spec

tree-spec For example, the code:

  (make-directory-tree '("a" ("b" "c" ("d"))))

would create the directory tree:

/a

/a/b

/a/c

/a/c/d

Any existing directories in the tree are left intact.

(make-non-conflicting-filename

 

path

 

 

 

 

 

 

filename)

 

 

string?

  path : (U path? string?)

  filename : string?

Returns a filename that is guaranteed to not conflict with the names of any files in path. For example:

  (make-non-conflicting-filename (string->path "mydir") "myfile.txt")

would return:

(make-non-conflicting-path path filename)  path?

  path : (U path? string?)

  filename : string?

Like make-non-conflicting-filename but returns:

  (build-path path (make-non-conflicting-filename path filename))

(read-file->string file)  string?

  file : (U path? string?)

Reads the contents of file into a string. See the port.plt collection on PLaneT for more advanced functions along these lines.

(concatenate-files dest sources)  void?

  dest : (U path? string?)

  sources : (listof (U path? string?))

Concatenates (appends) the contents of sources and writes the result to dest.