CodeGym /جاوا بلاگ /Random-UR /Java.io.File کلاس
John Squirrels
سطح
San Francisco

Java.io.File کلاس

گروپ میں شائع ہوا۔
بہت سے معاملات میں، پروگرام کو اپنے کام میں کچھ فائلوں تک رسائی کی ضرورت ہوتی ہے۔ مثال کے طور پر، صارف کا ڈیٹا کسی بیرونی فائل میں ریکارڈ کیا جا سکتا ہے، اور اسے پڑھنے کے لیے، پروگرام کو اس کے ساتھ کام کرنے کے قابل ہونا ضروری ہے — کھولیں، ڈیٹا پڑھیں، ممکنہ طور پر ترمیم کریں اور بند کریں۔ ان مقاصد کے لیے جاوا پروگرامنگ زبان میں Java.io.File کلاس ہے۔ اس مضمون میں، ہم غور کریں گے کہ یہ کس قسم کی کلاس ہے اور اس کے ساتھ کام کرنے کی ایک مثال دیں گے۔

جاوا فائل کلاس کیا ہے؟

فائل کلاس کی تعریف java.io پیکیج میں کی گئی ہے اور یہ براہ راست اسٹریمز کے ساتھ کام نہیں کرتی ہے۔ جاوا فائل کلاس فائلوں اور ڈائریکٹریوں کے بارے میں معلومات کو منظم کرنا ہے۔ جیسا کہ آپ جانتے ہیں، آپریٹنگ سسٹم کی سطح پر، فائلیں اور ڈائریکٹریز مختلف اشیاء ہیں۔ تاہم جاوا میں، وہ دونوں ایک ہی فائل کلاس کے ذریعہ بیان کیے گئے ہیں۔ آپ سوچ رہے ہوں گے کہ فائلوں کا حوالہ دینے کے لیے صرف تاروں کا استعمال کیوں نہیں کیا جاتا؟ سب سے پہلے، کیونکہ فائل تک رسائی مختلف آپریٹنگ سسٹمز میں مختلف ہوتی ہے۔

فائل کلاس کنسٹرکٹرز

اس بات پر منحصر ہے کہ آیا Java.io.File کلاس آبجیکٹ کو فائل یا ڈائرکٹری کی نمائندگی کرنی چاہیے، ہم آبجیکٹ بنانے کے لیے کنسٹرکٹرز میں سے ایک کا استعمال کر سکتے ہیں: File(String pathname) اس معاملے میں کنسٹرکٹر دیئے گئے پاتھ نام کو تبدیل کر کے ایک نئی فائل مثال بناتا ہے۔ ایک تجریدی راستے کے نام میں سٹرنگ۔ فائل (اسٹرنگ مائی پاتھ، سٹرنگ مائی سٹرنگ) یہ کنسٹرکٹر ایک myPath پاتھ نیم سٹرنگ اور ایک myString پاتھ نیم سٹرنگ سے ایک نئی فائل مثال بناتا ہے۔ فائل (فائل پیرنٹ، اسٹرنگ کا نام) فائل کے خلاصہ پاتھ نام اور نام کے راستے کے نام کے سٹرنگ سے ایک نئی فائل مثال بناتی ہے۔ فائل (URI uri) اس معاملے میں کنسٹرکٹر دی گئی فائل کو تبدیل کرکے ایک نئی فائل مثال بناتا ہے: URI کو ایک خلاصہ پاتھ نام میں۔ URI ایک جاوا کلاس ہے جو یونیفارم ریسورس آئیڈینٹیفائر (URI) حوالہ کی نمائندگی کرتی ہے۔ یہاں مختلف Java.io.File کلاس کنسٹرکٹرز کی ایک مثال ہے۔
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;

public class FileTest {
   public static void main(String[] args) throws URISyntaxException {
       File myFile1 = new File("d:\\MyCat");
       File myFile2 = new File ("d:\\MyCat", "cat.txt");
       File myFile3 = new File(myFile1, "cat.txt");
       URI uri = new URI ("https://docs.oracle.com/javase/7/docs/api/java/net/URI.html");
       File myFile4 = new File(uri);
   }
}

فائل کلاس کے طریقے

جاوا فائل کلاس میں بہت سے طریقے ہیں جو آپ کو فائلوں اور ڈائریکٹریوں میں ہیرا پھیری کرنے کی اجازت دیتے ہیں۔ آئیے ان میں سے کچھ پر غور کریں:
  • boolean createNewFile() کنسٹرکٹر کو بھیجے گئے راستے پر ایک نئی فائل بناتا ہے۔ کامیاب ہونے پر صحیح، بصورت دیگر غلط لوٹاتا ہے۔

  • boolean delete() کنسٹرکٹر کو بھیجے گئے راستے میں ڈائریکٹری یا فائل کو حذف کرتا ہے۔ کامیاب حذف ہونے پر درست لوٹاتا ہے۔

  • boolean exists() چیک کرتا ہے کہ آیا کنسٹرکٹر میں بتائے گئے راستے پر کوئی فائل یا ڈائریکٹری موجود ہے۔ اگر فائل یا ڈائرکٹری موجود ہے، تو صحیح لوٹاتا ہے، ورنہ غلط لوٹاتا ہے۔

  • سٹرنگ getAbsolutePath() آبجیکٹ کے کنسٹرکٹر کو دیے گئے راستے کے لیے مطلق راستہ واپس کرتی ہے۔

  • اسٹرنگ getName() فائل یا ڈائریکٹری کا مختصر نام لوٹاتا ہے۔

  • اسٹرنگ getParent() پیرنٹ ڈائرکٹری کا نام لوٹاتا ہے۔

  • boolean isDirectory() صحیح لوٹاتا ہے اگر دیئے گئے راستے میں ڈائرکٹری ہو۔

  • boolean isFile() اگر دیے گئے راستے پر کوئی فائل موجود ہے تو صحیح لوٹاتا ہے۔

  • اگر ڈائرکٹری یا فائل چھپی ہوئی ہے تو boolean isHidden() صحیح لوٹاتا ہے۔

  • long length() فائل کا سائز بائٹس میں لوٹاتا ہے۔

  • long lastModified() وہ وقت لوٹاتا ہے جب کسی فائل یا ڈائریکٹری میں آخری بار ترمیم کی گئی تھی۔ قدر ملی سیکنڈز کی تعداد کی نمائندگی کرتی ہے جو یونکس عہد کے بعد سے گزر چکے ہیں۔

  • String[] list() فائلوں اور ذیلی ڈائریکٹریوں کی ایک صف کو لوٹاتا ہے جو ایک مخصوص ڈائریکٹری میں ہیں۔

  • فائل[] listFiles() فائلوں اور ذیلی ڈائریکٹریوں کی ایک صف کو لوٹاتا ہے جو ایک مخصوص ڈائریکٹری میں ہیں۔

  • boolean mkdir() ایک نئی ڈائرکٹری بناتا ہے اور کامیاب ہونے پر صحیح واپس آتا ہے۔

  • boolean renameTo(File dest) کسی فائل یا ڈائریکٹری کا نام تبدیل کرتا ہے۔

جاوا فائل کلاس کی کچھ خصوصیات

  • راستہ، خلاصہ یا تار، یا تو مطلق یا رشتہ دار ہو سکتا ہے۔ اس کلاس کے getParent() طریقہ کو کال کرکے تجریدی راستے کے پیرنٹ کو بازیافت کیا جاسکتا ہے ۔

  • پہلے ہمیں فائل کلاس کا ایک آبجیکٹ بنانا چاہیے، اسے فائل یا ڈائرکٹری کا نام دے کر۔ فائل سسٹم اصل فائل سسٹم آبجیکٹ پر کچھ کارروائیوں پر پابندیاں لگا سکتا ہے، جیسے پڑھنا، لکھنا، اور عمل کرنا۔ ان پابندیوں کو رسائی کی اجازت کہا جاتا ہے۔

  • فائل کلاس کی مثالیں ناقابل تغیر ہیں۔ اس کا مطلب یہ ہے کہ ایک بار جب آپ فائل بناتے ہیں، تو فائل آبجیکٹ کے ذریعہ پیش کردہ خلاصہ راستہ کبھی نہیں بدلے گا۔

فائل کلاس کوڈ کی مثالیں۔

آئیے ایک پروگرام بناتے ہیں جو ڈائریکٹریز کے ساتھ کام کرتا ہے۔ سب سے پہلے اسے دیے گئے راستے پر ایک ڈائریکٹری بنانی چاہیے اور پھر ایک نئی فائل بنا کر چیک کرنا چاہیے کہ آیا فائل اور ڈائریکٹری موجود ہے۔
import java.io.File;
import java.io.IOException;

public class FileTest2 {
   public static void main(String[] args) throws IOException {

       //create a directory using mkdir() File class method
       File dir = new File("d:\\MyDir");
       boolean created = dir.mkdir();
       if(created)
           System.out.println("Folder has been created...");
       else
           System.out.println("Folder hasn't been created...");
       File myFile = new File("d:\\MyDir\\cat.txt");
       myFile.createNewFile();
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if(myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");
      }
}
یہاں آؤٹ پٹ ہے:
فولڈر بن گیا ہے... فائل کا نام: cat.txt پیرنٹ فولڈر: d:\MyDir فائل موجود ہے
ویسے اگر آپ نے سب کچھ ٹھیک کیا تو آپ اپنے کمپیوٹر پر ایک نئی ڈائرکٹری اور فائل تلاش کر سکتے ہیں۔ اب ایک پروگرام لکھتے ہیں جہاں ہم بنائی گئی ڈائریکٹری اور فائل کے ساتھ کام کر سکتے ہیں۔ یہاں ہم کچھ طریقے استعمال کرتے ہیں جو اوپر بیان کیے گئے ہیں۔
import java.io.File;

public class FileTest3 {

   public static void main(String[] args) {

       File dir = new File("d:\\MyDir");
       File myFile = new File("d:\\MyDir\\cat.txt");
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if (myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");

       System.out.println("Absolute path: " + myFile.getAbsolutePath());

       if (myFile.exists()) {
           System.out.println("Is writable: " + myFile.canWrite());
           System.out.println("Is readable: " + myFile.canRead());
           System.out.println("Is a directory: " + myFile.isDirectory());
           System.out.println("myFile Size in bytes = " + myFile.length());

       }
   }
}
پروگرام کا آؤٹ پٹ یہ ہے:
فائل کا نام: cat.txt پیرنٹ فولڈر: d:\MyDir فائل موجود ہے Absolute path: d:\MyDir\cat.txt قابل تحریر ہے: سچ پڑھنے کے قابل ہے: سچ ایک ڈائریکٹری ہے: غلط myFile سائز بائٹس میں = 0
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION