CodeGym /Java Blog /Random /Paano Suriin kung May File sa Java
John Squirrels
Antas
San Francisco

Paano Suriin kung May File sa Java

Nai-publish sa grupo

Bakit kailangan nating suriin kung ang isang file ay "umiiral?"

Habang nakikitungo sa mga pagpapatakbo ng file (basahin/magsulat/lumikha/magtanggal/mag-update atbp), maraming mga baguhan ang maaaring magtaka kung bakit kailangan pa nating suriin kung mayroong isang file? Ang naaangkop na tugon dito ay, upang maiwasan ang NoSuchFileException , ito ay palaging isang mas ligtas na paraan upang ma-access ang isang file. Dahil dito, kailangan mong suriin kung mayroong isang file bago i-access ito upang maiwasan ang anumang mga pagbubukod sa runtime.Paano Suriin kung May File sa Java - 1

Paano suriin gamit ang file.exists() na pamamaraan?

Nagbibigay ang Java ng simpleng boolean method, file.exists() na hindi nangangailangan ng anumang mga parameter upang suriin ang nauugnay na file sa isang partikular na path. Kapag sinusuri ang pagkakaroon ng isang file, panatilihing isinasaalang-alang ang 3 mga sitwasyon.
  • Ang file ay natagpuan.
  • Hindi nahanap ang file.
  • Ang katayuan ng file ay hindi alam kung ang mga pahintulot ay hindi ibinigay (dahil sa mga kadahilanang pangseguridad).
Ang paraan ng File.exists() ay nagbabalik ng “ true ” kung ang file ay natagpuan. Kung sakaling hindi ito matagpuan o ang nabigong pag-access, ibinabalik nito ang " false ".

Halimbawa

Tingnan natin ang isang simpleng halimbawa ng code upang makita ang pagpapatupad.

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());
	}
}
Output
Mayroon bang File sa "C:\Users\Lubaina\Documents\myNewTestFile.txt"? true Mayroon bang File sa "C:\Users\Lubaina\Documents\myOtherTestFile.txt"? mali
Pakitandaan na ang paraan ng file.exists() ay gumagana din para sa mga " direktoryo " na landas. Kung susuriin mo ang isang wastong path ng direktoryo gamit ang pamamaraang ito, magbabalik ito ng true o kung hindi man mali. Para sa isang mas mahusay na pag-unawa, maaari mong tingnan ang sumusunod na bloke ng code.

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);
	}
}
Output
Ang direktoryo sa "C:\Users\Lubaina\Documents\javaContent" ay umiiral. Ang mapagkukunan ba na "C:\Users\Lubaina\Documents\javaContent" ay isang File? false Ang mapagkukunan ba ay "C:\Users\Lubaina\Documents\myNewTestFile.txt" ay isang File? totoo
Tulad ng nakikita mo mula sa output, ang Direktoryo na pinangalanang "javaContent" ay napatunayan sa pamamagitan ng exists() na pamamaraan. Kaya kung gusto mong tiyakin na ang isang file ay hindi isang direktoryo, maaari mong gamitin ang boolean na pamamaraan na isDirectory() na ibinigay ng klase ng File sa Java.

Konklusyon

Sa pagtatapos ng post na ito, dapat na pamilyar ka sa kung paano suriin kung mayroong isang file sa Java. Maaari kang sumulat ng iyong sariling mga programa upang subukan at maunawaan ang pagpapaandar na ito. Kapag kumportable ka na dito, maaari mong tuklasin ang iba pang mga paraan ng pagsuri sa presensya ng isang File (hal., gamit ang mga simbolikong link o nio class) din. Good luck at maligayang coding! :)

Higit pang pagbabasa:

Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION