যদিও java.io.RandomAccessFile
একটি close()
পদ্ধতি java.io.File
আছে না। কেন এমন? ফাইলটি চূড়ান্তকরণ বা অন্য কিছুতে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে গেছে?
ধন্যবাদ!
যদিও java.io.RandomAccessFile
একটি close()
পদ্ধতি java.io.File
আছে না। কেন এমন? ফাইলটি চূড়ান্তকরণ বা অন্য কিছুতে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে গেছে?
ধন্যবাদ!
উত্তর:
File
শ্রেণীর জাভাদোক শ্রেণিটি বর্ণনা করে:
ফাইল এবং ডিরেক্টরি পথের নামগুলির একটি বিমূর্ত উপস্থাপনা।
File
ফাইল সিস্টেম (যেমন exists()
) এবং ডিরেক্টরি হ্যান্ডলিং সম্পর্কিত কয়েকটি পদ্ধতি সহ কেবলমাত্র একটি পথের নামের একটি প্রতিনিধিত্ব তবে প্রকৃত স্ট্রিমিং ইনপুট এবং আউটপুট অন্য কোথাও করা হয়। স্ট্রিমগুলি খোলা এবং বন্ধ করা যায়, ফাইলগুলি পারে না।
(আমার ব্যক্তিগত মতামতটি হ'ল দুর্ভাগ্য যে সান এর পরেও RandomAccessFile
তার অসামঞ্জস্যপূর্ণ নামকরণের সাথে অনেক বিভ্রান্তি সৃষ্টি করেছিল))
java.io.File
কোনও উন্মুক্ত ফাইল উপস্থাপন করে না , এটি ফাইল সিস্টেমে একটি পথ উপস্থাপন করে। সুতরাং close
এটির পদ্ধতি থাকা কোনও তাৎপর্যপূর্ণ নয়।
আসলে, এই শ্রেণিটি গ্রন্থাগারের লেখকরা ভুল নাম দিয়েছিলেন, এটির মতো কিছু বলা উচিত Path
।
Path
পুরোপুরি থেকে আলাদা করা উচিত ছিল ।
এলোমেলো অ্যাক্সেস পরিচালনা করার জন্য মূলত এলোমেলো অ্যাক্সেস ফাইলটি ইনপুট এবং আউটপুট স্ট্রিমগুলিকে মোড় দেয়। আপনি কোনও ফাইল খোলেন এবং বন্ধ করবেন না, আপনি কোনও ফাইলের স্ট্রিমগুলি খুলুন এবং বন্ধ করবেন।
একটি বাফার্ডরিডার খোলা এবং বন্ধ করা যেতে পারে তবে একটি ফাইল কখনও খোলা হয় না, এটি কেবল ফাইল সিস্টেমে একটি পথকে উপস্থাপন করে।
ধরুন, আপনার আছে
File f = new File("SomeFile");
f.length();
আপনার File
গুলি বন্ধ করার দরকার নেই , কারণ এটি কেবল একটি পথের উপস্থাপনা।
আপনার কেবলমাত্র পাঠক / লেখক এবং সত্যিকারের স্ট্রিমগুলি বন্ধ করার বিষয়ে বিবেচনা করা উচিত।