CodeGym /Java Blogu /Rastgele /Java'da Bir Dosyanın Var Olup Olmadığı Nasıl Kontrol Edil...
John Squirrels
Seviye
San Francisco

Java'da Bir Dosyanın Var Olup Olmadığı Nasıl Kontrol Edilir

grupta yayınlandı

Bir dosyanın "var olup olmadığını" neden kontrol etmemiz gerekiyor?

Dosya işlemleriyle uğraşırken (okuma/yazma/oluşturma/silme/güncelleme vb.), birçok acemi neden bir dosyanın var olup olmadığını kontrol etmemiz gerektiğini merak edebilir. Buna uygun yanıt, NoSuchFileException'dan kaçınmak için , bir dosyaya erişmenin her zaman daha güvenli bir yolu olacaktır. Sonuç olarak, herhangi bir çalışma zamanı istisnasından kaçınmak için erişmeden önce bir dosyanın var olup olmadığını kontrol etmeniz gerekir.Java'da Bir Dosyanın Var Olup Olmadığı Nasıl Kontrol Edilir - 1

file.exists() yöntemi kullanılarak nasıl kontrol edilir?

Java, belirli bir yoldaki ilgili dosyayı kontrol etmek için herhangi bir parametre gerektirmeyen basit bir mantıksal yöntem olan file.exists() sağlar. Bir dosyanın varlığını kontrol ederken, 3 senaryoyu göz önünde bulundurun.
  • Dosya bulunur.
  • Dosya bulunamadı.
  • İzinler verilmediyse (güvenlik nedeniyle) dosya durumu bilinmiyor.
File.exists() yöntemi, dosya bulunursa " true " döndürür . Bulunamaması veya erişimin başarısız olması durumunda “ false ” döndürür.

Örnek

Uygulamayı görmek için basit bir kod örneğine bakalım.

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());
	}
}
Çıktı
Dosya "C:\Users\Lubaina\Documents\myNewTestFile.txt" konumunda var mı? true Dosya "C:\Users\Lubaina\Documents\myOtherTestFile.txt" konumunda var mı? YANLIŞ
Lütfen file.exists() yönteminin " dizin " yolları için de çalıştığını unutmayın . Bu yöntemle geçerli bir dizin yolunu kontrol ederseniz, aksi takdirde true veya false döndürür. Daha iyi anlamak için aşağıdaki kod bloğuna göz atabilirsiniz.

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);
	}
}
Çıktı
"C:\Users\Lubaina\Documents\javaContent" konumunda dizin var. "C:\Users\Lubaina\Documents\javaContent" kaynağı bir Dosya mı? false "C:\Users\Lubaina\Documents\myNewTestFile.txt" kaynağı bir Dosya mı? doğru
Çıktıdan da görebileceğiniz gibi “javaContent” adlı Dizin varolan() yöntemi ile doğrulanmıştır . Bu nedenle, özellikle bir dosyanın bir dizin olmadığını kontrol etmek istiyorsanız, Java'daki File sınıfı tarafından sağlanan isDirectory() boolean yöntemini kullanabilirsiniz .

Çözüm

Bu yazının sonunda, bir dosyanın Java'da var olup olmadığını nasıl kontrol edeceğinizi öğrenmiş olmalısınız. Bu işlevselliği test etmek ve anlamak için kendi programlarınızı yazabilirsiniz. Onunla rahat olduğunuzda, bir Dosyanın varlığını kontrol etmenin başka yollarını da keşfedebilirsiniz (örneğin, sembolik bağlantılar veya nio sınıfı kullanarak). İyi şanslar ve mutlu kodlamalar! :)

Daha fazla okuma:

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