Bnlang ফাইল স্ট্যাটস

ফাইল স্ট্যাটস হলো একটি ফাইল বা ডিরেক্টরির মেটাডেটা — সাইজ, এটি একটি রেগুলার ফাইল না ডিরেক্টরি, এবং সর্বশেষ কখন পরিবর্তিত হয়েছিল। বিল্ট-ইন io মডিউল io.stat-এর মাধ্যমে এটি এক্সপোজ করে, সাথে কিছু এক-প্রশ্নের হেল্পার।


io.stat — Full Metadata Map

io.stat(path) একটি ম্যাপ ফেরত দেয়, যেখানে এই ফিল্ডগুলো থাকে:

  • bytes — ফাইল সাইজ বাইটে (সংখ্যা)।
  • mtime — সর্বশেষ পরিবর্তনের সময়, সেকেন্ডে Unix টাইমস্ট্যাম্প হিসেবে (সংখ্যা)।
  • is_dir — পাথ ডিরেক্টরি হলে true
  • is_file — পাথ রেগুলার ফাইল হলে true
import "io" as io;

var s = io.stat("notes.txt");
print("size:",     s.bytes, "bytes");
print("is file?",  s.is_file);
print("is dir?",   s.is_dir);
print("mtime:",    s.mtime, "seconds since epoch");

Quick Boolean Checks

হ্যাঁ/না প্রশ্নের জন্য পুরো stat এড়িয়ে ডেডিকেটেড হেল্পার ব্যবহার করুন — পাঠযোগ্যতা ভালো, এবং অপ্রয়োজনীয় মেটাডেটা লোড হয় না।

import "io" as io;

if (io.exists("notes.txt")) {
    print("the file is there");
}

if (io.is_file("notes.txt")) {
    print("and it's a regular file");
}

if (io.is_dir("data")) {
    print("data/ is a directory");
}

Best Practices

  • পাথ যদি ভ্যালিড নাও হতে পারে, প্রথমে io.exists ব্যবহার করুন — অনুপস্থিত ফাইলে io.stat থ্রো করে।
  • সাইজ বাইটে রিপোর্ট হয়। KB / MB চাইলে নিজের কোডে কনভার্ট করুন।
  • mtime সেকেন্ডে; time মডিউলের জন্য মিলিসেকেন্ড চাইলে 1000 দিয়ে গুণ করুন।