From 84adefa331c4159d432d22840663c38f155cd4c1 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 20 Nov 2009 14:54:40 +0000 Subject: The R13B03 release. --- lib/stdlib/doc/src/filelib.xml | 217 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 lib/stdlib/doc/src/filelib.xml (limited to 'lib/stdlib/doc/src/filelib.xml') diff --git a/lib/stdlib/doc/src/filelib.xml b/lib/stdlib/doc/src/filelib.xml new file mode 100644 index 0000000000..c1c4ca9350 --- /dev/null +++ b/lib/stdlib/doc/src/filelib.xml @@ -0,0 +1,217 @@ + + + + +
+ + 20032009 + Ericsson AB. All Rights Reserved. + + + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + + + filelib + Bjorn Gustavsson + Bjorn Gustavsson + 1 + Kenneth Lundin + + 03-01-21 + A + filelib.sgml +
+ filelib + File utilities, such as wildcard matching of filenames + +

This module contains utilities on a higher level than the file + module.

+
+ +
+ DATA TYPES + +filename() = string() | atom() | DeepList +dirname() = filename() +DeepList = [char() | atom() | DeepList] +
+ + + + ensure_dir(Name) -> ok | {error, Reason} + Ensure that all parent directories for a file or directory exist. + + Name = filename() | dirname() + Reason = posix() -- see file(3) + + +

The ensure_dir/1 function ensures that all parent + directories for the given file or directory name Name + exist, trying to create them if necessary.

+

Returns ok if all parent directories already exist + or could be created, or {error, Reason} if some parent + directory does not exist and could not be created for some + reason.

+
+
+ + file_size(Filename) -> integer() + Return the size in bytes of the file. + +

The file_size function returns the size of the given file.

+
+
+ + fold_files(Dir, RegExp, Recursive, Fun, AccIn) -> AccOut + Fold over all files matching a regular expression. + + Dir = dirname() + RegExp = regular_expression_string() + Recursive = true|false + Fun = fun(F, AccIn) -> AccOut + AccIn = AccOut = term() + + +

The fold_files/5 function folds the function + Fun over all (regular) files F in the + directory Dir that match the regular expression RegExp + (see the re module for a description + of the allowed regular expressions). + If Recursive is true all sub-directories to Dir + are processed. The regular expression matching is done on just + the filename without the directory part.

+
+
+ + is_dir(Name) -> true | false + Test whether Name refer to a directory or not + + Name = filename() | dirname() + + +

The is_dir/1 function returns true if Name + refers to a directory, and false otherwise.

+
+
+ + is_file(Name) -> true | false + Test whether Name refer to a file or directory. + + Name = filename() | dirname() + + +

The is_file/1 function returns true if Name + refers to a file or a directory, and false otherwise.

+
+
+ + is_regular(Name) -> true | false + Test whether Name refer to a (regular) file. + + Name = filename() + + +

The is_regular/1 function returns true if Name + refers to a file (regular file), and false otherwise.

+
+
+ + last_modified(Name) -> {{Year,Month,Day},{Hour,Min,Sec}} | 0 + Return the local date and time when a file was last modified. + + Name = filename() | dirname() + + +

The last_modified/1 function returns the date and time the + given file or directory was last modified, or 0 if the file + does not exist.

+
+
+ + wildcard(Wildcard) -> list() + Match filenames using Unix-style wildcards. + + Wildcard = filename() | dirname() + + +

The wildcard/1 function returns a list of all files + that match Unix-style wildcard-string Wildcard.

+

The wildcard string looks like an ordinary filename, except + that certain "wildcard characters" are interpreted in a special + way. The following characters are special: +

+ + ? + +

Matches one character.

+
+ * + +

Matches any number of characters up to the end of + the filename, the next dot, or the next slash.

+
+ {Item,...} + +

Alternation. Matches one of the alternatives.

+
+
+

Other characters represent themselves. Only filenames that + have exactly the same character in the same position will match. + (Matching is case-sensitive; i.e. "a" will not match "A"). +

+

Note that multiple "*" characters are allowed + (as in Unix wildcards, but opposed to Windows/DOS wildcards). +

+

Examples:

+

The following examples assume that the current directory is the + top of an Erlang/OTP installation. +

+

To find all .beam files in all applications, the following + line can be used:

+ + filelib:wildcard("lib/*/ebin/*.beam"). +

To find either .erl or .hrl in all applications + src directories, the following

+ + filelib:wildcard("lib/*/src/*.?rl") +

or the following line

+ + filelib:wildcard("lib/*/src/*.{erl,hrl}") +

can be used.

+

To find all .hrl files in either src or include + directories, use:

+ + filelib:wildcard("lib/*/{src,include}/*.hrl"). +

To find all .erl or .hrl files in either + src or include directories, use:

+ + filelib:wildcard("lib/*/{src,include}/*.{erl,hrl}") +
+
+ + wildcard(Wildcard, Cwd) -> list() + Match filenames using Unix-style wildcards starting at a specified directory. + + Wildcard = filename() | dirname() + Cwd = dirname() + + +

The wildcard/2 function works like wildcard/1, + except that instead of the actual working directory, Cwd + will be used.

+
+
+
+
+ + -- cgit v1.2.3