যদিও 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গুলি বন্ধ করার দরকার নেই , কারণ এটি কেবল একটি পথের উপস্থাপনা।
আপনার কেবলমাত্র পাঠক / লেখক এবং সত্যিকারের স্ট্রিমগুলি বন্ধ করার বিষয়ে বিবেচনা করা উচিত।