ہمیں یہ چیک کرنے کی ضرورت کیوں ہے کہ آیا کوئی فائل "موجود ہے؟"
فائل آپریشنز (پڑھیں/لکھیں/تخلیق/حذف/اپ ڈیٹ وغیرہ) سے نمٹنے کے دوران، بہت سے نئے آنے والے حیران ہوسکتے ہیں کہ ہمیں یہ چیک کرنے کی ضرورت کیوں ہے کہ آیا کوئی فائل موجود ہے؟ اس کا مناسب جواب یہ ہوگا، NoSuchFileException سے بچنے کے لیے ، یہ فائل تک رسائی کا ہمیشہ ایک محفوظ طریقہ ہے۔ نتیجتاً، آپ کو یہ چیک کرنے کی ضرورت ہے کہ آیا کوئی فائل اس تک رسائی سے پہلے موجود ہے یا نہیں تاکہ رن ٹائم کے استثناء سے بچا جا سکے۔
file.exists() طریقہ استعمال کرکے چیک کیسے کریں؟
جاوا ایک سادہ بولین طریقہ فراہم کرتا ہے، file.exists() جس میں کسی مخصوص راستے پر متعلقہ فائل کو چیک کرنے کے لیے کسی پیرامیٹرز کی ضرورت نہیں ہوتی ہے۔ فائل کی موجودگی کی جانچ کرتے وقت، 3 منظرناموں کو زیر غور رکھیں۔- فائل مل گئی ہے۔
- فائل نہیں ملی۔
- فائل کی حیثیت نامعلوم ہے اگر اجازت نہیں دی گئی (سیکیورٹی وجوہات کی وجہ سے)۔
مثال
آئیے نفاذ کو دیکھنے کے لیے ایک سادہ کوڈ کی مثال پر ایک نظر ڈالیں۔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());
}
}
آؤٹ پٹ
کیا فائل "C:\Users\Lubaina\Documents\myNewTestFile.txt" پر موجود ہے؟ true کیا فائل "C:\Users\Lubaina\Documents\myOtherTestFile.txt" پر موجود ہے؟ جھوٹا
براہ کرم نوٹ کریں کہ file.exists() طریقہ " ڈائریکٹری " کے راستوں کے لیے بھی کام کرتا ہے۔ اگر آپ اس طریقہ کے ساتھ ایک درست ڈائرکٹری کا راستہ چیک کرتے ہیں، تو یہ صحیح یا غلط ہو جائے گا۔ بہتر تفہیم کے لیے، آپ کوڈ کے درج ذیل بلاک پر ایک نظر ڈال سکتے ہیں۔
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);
}
}
آؤٹ پٹ
ڈائرکٹری "C:\Users\Lubaina\Documents\javaContent" پر موجود ہے۔ کیا وسیلہ "C:\Users\Lubaina\Documents\javaContent" ایک فائل ہے؟ غلط کیا وسیلہ "C:\Users\Lubaina\Documents\myNewTestFile.txt" ایک فائل ہے؟ سچ
جیسا کہ آپ آؤٹ پٹ سے دیکھ سکتے ہیں، "javaContent" نامی ڈائریکٹری کو exists() طریقہ سے درست کیا گیا ہے۔ لہذا اگر آپ خاص طور پر یہ دیکھنا چاہتے ہیں کہ فائل ڈائرکٹری نہیں ہے، تو آپ جاوا میں فائل کلاس کے ذریعہ فراہم کردہ بولین طریقہ isDirectory() استعمال کرسکتے ہیں۔
نتیجہ
اس پوسٹ کے اختتام تک، آپ کو اس بات سے واقف ہونا چاہیے کہ آیا جاوا میں فائل موجود ہے یا نہیں۔ آپ اس فعالیت کو جانچنے اور سمجھنے کے لیے اپنے پروگرام لکھ سکتے ہیں۔ ایک بار جب آپ اس سے راضی ہوجائیں تو، آپ فائل کی موجودگی کو جانچنے کے دوسرے طریقے بھی تلاش کرسکتے ہیں (مثال کے طور پر، علامتی لنکس یا nio کلاس کا استعمال کرتے ہوئے)۔ گڈ لک اور مبارک کوڈنگ! :)
مزید پڑھنا: |
---|
GO TO FULL VERSION