exist () et chemin actuel de java.io.File

Lors du traitement qui crée automatiquement un fichier, tel que le constructeur par défaut de FileWriter, il existe un risque d'écrasement si le fichier existe en premier. J'ai donc décidé d'utiliser exist () dans java.io.File.

Donc la première chose que j'ai trouvée a été

Exemple inquiétant


 public static void main(String[] args){
  /**
  args[0] =Créé avec le constructeur par défaut de FileWriter
Nom de fichier à écrire (sans extension);
  */

  String filename = args[0] + ".txt";

  //Obtenir le chemin actuel et créer une instance
  String path = System.getProperty("user.dir");
  File file = new File(path + "\\" + filename);

  // exists()Jugement par
  boolean flag = file.exists();
  if (flag) {
   System.out.println(filename + "Existe.");

Je pensais que je devais faire quelque chose comme ça. C'est parce qu'il y avait de nombreux exemples d'écriture du chemin actuel exactement lors de la recherche sur la façon d'utiliser exist (). Et c'est probablement correct.

Cependant, comme cela dépend du contenu de l'entrée de la ligne de commande (args [0]) en premier lieu, le chemin actuel incluant le nom du fichier ne peut pas être préparé depuis le début, et comme préparation avant de créer un fichier avec FileWriter, il se trouve dans le répertoire courant. Si vous avez seulement besoin de vérifier, en fait

Exemple propre


 public static void main(String[] args){
  String filename = args[0] + ".txt";

  //Créer une instance
  File file = new File(filename);

  // exists()Jugement par (même ci-dessous)
  boolean flag = file.exists();
  if (flag) {
   System.out.println(filename + "Existe.");

C'était assez.

Ainsi, chemin actuel + lors de la recherche du nom de fichier que vous recherchez avec existe (), vous pouvez simplement entrer le nom du fichier sans entrer le chemin complet dans le constructeur de fichier .

Recommended Posts