CodeGym /Java blog /Véletlen /Hogyan ellenőrizhető, hogy létezik-e fájl a Java-ban
John Squirrels
Szint
San Francisco

Hogyan ellenőrizhető, hogy létezik-e fájl a Java-ban

Megjelent a csoportban

Miért kell ellenőriznünk, hogy létezik-e egy fájl?

Fájlműveletek (olvasás/írás/létrehozás/törlés/frissítés stb.) során sok újoncnak felmerül a kérdés, hogy miért is kell ellenőriznünk, hogy létezik-e fájl? A megfelelő válasz erre az lenne, hogy a NoSuchFileException elkerülése érdekében mindig biztonságosabb módja a fájl elérésének. Következésképpen a futásidejű kivételek elkerülése érdekében ellenőriznie kell, hogy létezik-e egy fájl, mielőtt hozzáférne.Hogyan ellenőrizhető, hogy létezik-e fájl a Java-ban - 1

Hogyan lehet ellenőrizni a file.exists() metódussal?

A Java egy egyszerű logikai módszert kínál, a file.exists()-et , amely nem igényel paramétereket az adott elérési útvonalon lévő fájl ellenőrzéséhez. Egy fájl létezésének ellenőrzésekor tartson 3 forgatókönyvet.
  • A fájl megtalálható.
  • A fájl nem található.
  • A fájl állapota ismeretlen, ha az engedélyeket nem adják meg (biztonsági okokból).
A File.exists() metódus „ true ”-t ad vissza, ha a fájl található. Abban az esetben, ha nem található, vagy a hozzáférés meghiúsult, „ false ” értéket ad vissza.

Példa

Vessünk egy pillantást egy egyszerű kódpéldára, hogy lássuk a megvalósítást.

package com.java.exists;
import java.io.File;

public class ExistsMethodInJava {

	public static void main(String[] args) {

		String filePath = "C:\\Users\\Lubaina\\Documents\\myNewTestFile.txt";
		File file = new File(filePath);

		// check if the file exists at the file path
		System.out.println("Does File exists at \"" + filePath + "\"?\t" + file.exists());
		
		filePath = "C:\\Users\\Lubaina\\Documents\\myOtherTestFile.txt";
		File nextFile = new File(filePath);
		
		// check if the file exists at the file path
		System.out.println("Does File exists at \"" + filePath + "\"?\t" + nextFile.exists());
	}
}
Kimenet
A fájl létezik a "C:\Users\Lubaina\Documents\myNewTestFile.txt" címen? true A fájl létezik a "C:\Users\Lubaina\Documents\myOtherTestFile.txt" címen? hamis
Kérjük, vegye figyelembe, hogy a file.exists() metódus a „ könyvtár ” elérési utakra is működik . Ha ezzel a módszerrel ellenőriz egy érvényes könyvtár elérési utat, akkor igaz vagy hamis értéket ad vissza. A jobb megértés érdekében tekintse meg a következő kódblokkot.

package com.java.exists;
import java.io.File;

public class CheckFileExists {

	// check if the "file" resource exists and not "directory"
	public static boolean checkFileExists(File file) {
		return file.exists() && !file.isDirectory();
	}

	public static void main(String[] args) {

		String directoryPath = "C:\\Users\\Lubaina\\Documents\\javaContent";
		File direcotry = new File(directoryPath);

		// check if the directory exists at the dir path
		if (direcotry.exists()) {
			System.out.println("Direcotry at \"" + directoryPath + "\" exists.\n");
		} else {
			System.out.println("Direcotry at \"" + directoryPath + "\" does not exist.\n");
		}

		// check if the resource present at the path is a "file" not "directory"
		boolean check = checkFileExists(direcotry);
		System.out.println("Is the resource \"" + direcotry + "\" a File? " + check);

		String filePath = "C:\\Users\\Lubaina\\Documents\\myNewTestFile.txt";
		File file = new File(filePath);
		check = checkFileExists(file);
		System.out.println("Is the resource \"" + file + "\" a File? " + check);
	}
}
Kimenet
A "C:\Users\Lubaina\Documents\javaContent" könyvtár létezik. A "C:\Users\Lubaina\Documents\javaContent" erőforrás fájl? false A "C:\Users\Lubaina\Documents\myNewTestFile.txt" erőforrás fájl? igaz
Amint a kimenetből látható, a „javaContent” nevű könyvtárat az exists() metódus ellenőrizte . Tehát ha kifejezetten azt szeretné ellenőrizni, hogy egy fájl nem könyvtár-e, használhatja a Java File osztálya által biztosított isDirectory() logikai metódust .

Következtetés

A bejegyzés végére tisztában kell lennie azzal, hogyan ellenőrizheti, hogy létezik-e fájl a Java nyelven. Írhat saját programokat, hogy tesztelje és megértse ezt a funkciót. Ha már jól érzi magát, felfedezhet más módokat is a Fájl jelenlétének ellenőrzésére (pl. szimbolikus hivatkozások vagy nio osztály használatával). Sok sikert és jó kódolást! :)

További olvasnivalók:

Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION