File.separator et new File() en Java

Dans ce tutoriel, nous allons voir trois exemples pour construire un chemin d’accès d'un fichier:
  • File.separator ou System.getProperty("file.separator")
  • File file = new File(chemin, nomFichier)
  • Créer un chemin manuellement (non recommandée)

File.separator

C'est le moyen classique pour construire un chemin en utilisant File.separator ou System.getProperty("file.separator"). Les deux vont vérifier le système d'expoitation utilisé et retournent le chemin du fichier correctement, par exemple:

1. Windows = \
2. Unix; Linux ou Mac = /
  
import java.io.File;
import java.io.IOException;

public class FileSeparator {
public static void main(String[] args) {
try {

String filename = "nouveau_fichier.txt";
String repertoireCourant= System.getProperty("user.dir");

String absoluteFilePath = "";

absoluteFilePath = repertoireCourant+ File.separator + filename;

System.out.println("Chemin absolu : " + absoluteFilePath);

File file = new File(absoluteFilePath);

if (file.createNewFile()) {
System.out.println("Fichier crée!");
} else {
System.out.println("Fichier existe dèjà.");
}

} catch (IOException e) {
e.printStackTrace();
}
}
}
Sortie:
  
Chemin absolu : C:\Documents and Settings\Poste07\workspace\File\nouveau_fichier.txt
Fichier crée!

new File()

L'appel de new File() permet aussi de construire le chemin du fichier.
  
import java.io.File;
import java.io.IOException;

public class NewFile {
public static void main(String[] args) {
try {

String filename = "nouveau_fichier.txt";
String repertoireCourant = System.getProperty("user.dir");

File file = new File(repertoireCourant, filename);

System.out.println("Chemin: " + file.getAbsolutePath());
if (file.createNewFile()) {
System.out.println("Fichier crée!");
} else {
System.out.println("Fichier existe dèjà.");
}

} catch (IOException e) {
e.printStackTrace();
}
}
}
Sortie:
  
Chemin: C:\Documents and Settings\Poste07\workspace\File\nouveau_fichier.txt
Fichier existe dèjà.

Construire le chemin manuellement

Cette méthode est à éviter, ici on vous montre juste pour montrer tous les moyens pour construire un chemin.
  
import java.io.File;
import java.io.IOException;

public class NewFile {
public static void main(String[] args) {
try {

String filename = "nouveau_fichier.txt";
String repertoireCourant = System.getProperty("user.dir");

String cheminAbsolu = "";
String os = System.getProperty("os.name").toLowerCase();

if (os.indexOf("win") >= 0) {

//si windows
cheminAbsolu = repertoireCourant + "\\" + filename;

} else if (os.indexOf("nix") >= 0 ||
os.indexOf("nux") >= 0 ||
os.indexOf("mac") >= 0) {

//si unix or mac
cheminAbsolu = repertoireCourant + "/" + filename;

}else{
//os introuvable
cheminAbsolu = repertoireCourant + "/" + filename;
}

System.out.println("Chemin : " + cheminAbsolu);

File file = new File(cheminAbsolu);

if (file.createNewFile()) {
System.out.println("Fichier créé");
} else {
System.out.println("Fichier existant déjà");
}

} catch (IOException e) {
e.printStackTrace();
}
}
}
Sortie:
  
Chemin: C:\Documents and Settings\Poste07\workspace\File\nouveau_fichier.txt
Fichier existe dèjà.
Ressources:
http://java.sun.com/javase/6/docs/api/java/io/File.html