1 Exception utilities
2 Number utilities
3 String utilities
4 Symbol utilities
5 SRFI19 time utilities
6 List
7 PLT 4x hash utilities
8 PLT 3x hash utilities
9 Contract utilities
10 File and path utilities
11 Parameter utilities
12 Syntax utilities
13 Generators
14 Generators (short names)
15 Pipelines
16 Write-through cache
17 Yieldable procedures
18 Debugging tools
19 Profiling tools
20 Logging tools
On this page:
make-directory-tree
make-non-conflicting-filename
make-non-conflicting-path
read-file->string
concatenate-files
Version: 3.99.0.23

 

10 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.