Skip to content

$file.create

Description

Génère un fichier ou un dossier

Dans le cas d'une création de fichier, la méthode ne crée pas de fichier directement. Elle ne fait que de construire un objet de type file qui référence un fichier. Le fichier ne sera réellement créé qu'à partir du moment où on lui ajoutera des données.

Les dossiers par contre sont construits au moment de l'appel de la méthode.

Syntaxe

$file.create( name [ , folder [ , options ] ] )

Paramètres

name string
Nom du fichier à créer. Si null ou vide, la méthode génère un nom de fichier sous forme de UUID.
folder sting / file

Chemin du dossier de destination. Peut être une chaîne de caractères désignant un path ou un objet file.

Peut également être non défini ou null. Dans ce cas, la méthode regarde si name désigne un path absolu. Si c'est le cas, le fichier est créé sous le nom indiqué (ou sous une variante dans le cas où l'option replace est définie à false). Si name est relatif, le fichier est créé dans le workdir de l'application.

options map

Map d'options. Les options reconnues sont:

replace boolean

Flag true/false indiquant si la méthode peut écraser un fichier ou un dossier déjà existant. Vaut false par défaut. Cela signifie que par défaut la méthode cherchera à créer un fichier ou un répertoire qui n'existe pas déjà.

Aucun traitement n'est effectué si l'on cherche à créer un dossier qui existe déjà.

directory boolean
Flag true/false indiquant qu'on attend de la méthode qu'elle crée un dossier et non un fichier.

Retour

Objet file référençant le fichier ou dossier indiqué.

Retourne null si le dossier n'a pas pu être créé.

Exemple

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
var f0 = $file.create();
var f1 = $file.create("C:/Temp/file01.txt");
var f2 = $file.create("file02.txt", "C:/Temp/");
var f3 = $file.create("C:/Temp/file01.txt", null, { replace: true });
var f4 = $file.create("file02.txt", "C:/Temp/", { replace: true });
$logger.info(f0);
$logger.info(f3);
$logger.info(f4);

var d0 = $file.create(null, null, { directory: true });
var d1 = $file.create("C:/Temp/dir01", null, { directory: true });
var d2 = $file.create("dir02", "C:/Temp/", { directory: true });

$logger.info(d0);
$logger.info(d1);
$logger.info(d2);

$file.delete([ f0, f3, f4, d0, d1, d2 ]);

Les traces suivantes sont affichées dans le log:

INFO - C:\apps\apache-tomcat-9.0.64\work\Catalina\localhost\ewt\vpnmanager\e3e5ffa6-cbd4-4644-a094-30c6d289d0f3
INFO - C:\Temp\file01.txt
INFO - C:\Temp\file02.txt
INFO - C:\apps\apache-tomcat-9.0.64\work\Catalina\localhost\ewt\vpnmanager\f5a991b9-100b-4073-84cf-5eaed1bcc4e0\
INFO - C:\Temp\dir01\
INFO - C:\Temp\dir02\