Aujourd’hui on s’attaque aux fichiers. On a déjà vu comment importer des fichiers avec load ou require. Ici, on va voir d’autres utilités.

File

La classe utilisée est tout simplement nommée File. J’ai un fichier “test.rb” où je mets mon code, et dans le même dossier j’ai un fichier monfichier.txt avec du Lorem Ipsum. Voici une liste des méthodes que l’on peut utiliser :

File.directory?("monfichier.txt") # vérifie si le dossier existe, ici false
File.file?("monfichier.txt") # vérifie si le fichier existe, ici true
File.exists?("monfichier.txt") # idem
File.size?("monfichier.txt") # donne la taille du fichier en bytes, ici 469
File.extname("monfichier.txt") # renvoie l'extension, ici txt
File.extname("monfichiersansextension") # renvoie un String vide
File.executable?("monfichier.txt") # vérifie si l'utilisateur peut exécuter le fichier, pas si le fichier est exécutable en soi
File.readable?("monfichier.txt") # vérifie si le fichier est lisible, ici true
File.writable?("monfichier.txt") # vérifie si le fichier est éditable, ici true
File.owned?("monfichier.txt") # vérifie si l'utilisateur a les droits sur le fichier

Pour les utilisateurs d’OS Unix, il y a d’autres méthodes disponibles :

File.grpowned?("monfichier.txt") # vérifie si le groupe de l'utilisateur a les droits sur le fichier
File.setgid?("monfichier.txt")
File.setuid?("monfichier.txt")

Etant sous Windows, ces méthodes renvoient toutes false pour moi, et j’avoue ne pas comprendre les deux dernières.

Demain, on va lire un fichier (pour l’utiliser dans notre code!).