Java.io.File এর নিকটতম () পদ্ধতি নেই কেন?


123

যদিও java.io.RandomAccessFileএকটি close()পদ্ধতি java.io.Fileআছে না। কেন এমন? ফাইলটি চূড়ান্তকরণ বা অন্য কিছুতে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে গেছে?

ধন্যবাদ!


3
আপনি জাভা এপিআইতে সন্ধান করলে আপনি অবিলম্বে উত্তর পেতে সক্ষম হবেন।
গিগাডট

43
আমি শিখেছি যে অন্যথায় দুর্দান্ত জবা অনুমানের চেয়ে লোকেরা আরও সহায়ক।
অ্যালবাস ডাম্বলডোর

6
বি / সি এটি খোলা যায় না :)
বেটসেস

6
কারণ এটি কিছুই খোলে না। এবং লোকেরা জাভা সম্পর্কিত নির্দিষ্টকরণের তুলনায় যথেষ্ট কম নির্ভরযোগ্য।
মারকুইস

উত্তর:


141

Fileশ্রেণীর জাভাদোক শ্রেণিটি বর্ণনা করে:

ফাইল এবং ডিরেক্টরি পথের নামগুলির একটি বিমূর্ত উপস্থাপনা।

Fileফাইল সিস্টেম (যেমন exists()) এবং ডিরেক্টরি হ্যান্ডলিং সম্পর্কিত কয়েকটি পদ্ধতি সহ কেবলমাত্র একটি পথের নামের একটি প্রতিনিধিত্ব তবে প্রকৃত স্ট্রিমিং ইনপুট এবং আউটপুট অন্য কোথাও করা হয়। স্ট্রিমগুলি খোলা এবং বন্ধ করা যায়, ফাইলগুলি পারে না।

(আমার ব্যক্তিগত মতামতটি হ'ল দুর্ভাগ্য যে সান এর পরেও RandomAccessFileতার অসামঞ্জস্যপূর্ণ নামকরণের সাথে অনেক বিভ্রান্তি সৃষ্টি করেছিল))


72

java.io.Fileকোনও উন্মুক্ত ফাইল উপস্থাপন করে না , এটি ফাইল সিস্টেমে একটি পথ উপস্থাপন করে। সুতরাং closeএটির পদ্ধতি থাকা কোনও তাৎপর্যপূর্ণ নয়।

আসলে, এই শ্রেণিটি গ্রন্থাগারের লেখকরা ভুল নাম দিয়েছিলেন, এটির মতো কিছু বলা উচিত Path


কিন্তু তারপরে সমস্ত ডিরেক্টরি তালিকা পদ্ধতি সম্পর্কে কি? তাদের Pathপুরোপুরি থেকে আলাদা করা উচিত ছিল ।
20'11 এ বিজিকলপ

3
সম্মত, তবে যে কোনও ক্ষেত্রেই ফাইল বা র্যান্ডমএ্যাক্সেসফিলের ভুল নাম দেওয়া হয়েছে। র‌্যান্ডমএ্যাক্সেসফিল ​​স্ট্রিমের মতো কিছু ভাল হতে পারে তবে এখন অনেক বছর পেরিয়ে গেছে।
মার্টিনাস

7
"আসলে, এই শ্রেণীর গ্রন্থাগার লেখকরা ভুল নাম দিয়েছিলেন, একে পথের মতো কিছু বলা উচিত" -> তারা আপনাকে শুনেছিল। নিও (নতুন আই / ও) প্যাকেজে, একই ধরণের সংঘর্ষের নাম এখন পাথ। docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html
মিনিট

6

এলোমেলো অ্যাক্সেস পরিচালনা করার জন্য মূলত এলোমেলো অ্যাক্সেস ফাইলটি ইনপুট এবং আউটপুট স্ট্রিমগুলিকে মোড় দেয়। আপনি কোনও ফাইল খোলেন এবং বন্ধ করবেন না, আপনি কোনও ফাইলের স্ট্রিমগুলি খুলুন এবং বন্ধ করবেন।


1
হ্যাঁ. আমি কখনই জাভা.ও.র্যান্ডম অ্যাক্সেসফাইলে তেমন কিছু দেখিনি। আমি সবসময় ধরে নিয়েছিলাম এটি java.io.File কে ছাড়িয়ে গেছে তবে এটি হয় না! ফাইল একটি পথ উপস্থাপন করে। র্যান্ডমএকসেসফাইল এমন একটি বস্তু যা স্ট্রিম অ্যাক্সেসের পরিবর্তে এলোমেলোভাবে অনুমতি দেওয়ার জন্য অনেকগুলি বাস্তবায়ন সত্ত্বেও স্ট্রিম হিসাবে ডিস্ক I / O সম্পাদন করতে পারে।
স্টিভ কোহেন

6

একটি বাফার্ডরিডার খোলা এবং বন্ধ করা যেতে পারে তবে একটি ফাইল কখনও খোলা হয় না, এটি কেবল ফাইল সিস্টেমে একটি পথকে উপস্থাপন করে।


4

ধরুন, আপনার আছে

File f  = new File("SomeFile");
f.length();

আপনার Fileগুলি বন্ধ করার দরকার নেই , কারণ এটি কেবল একটি পথের উপস্থাপনা।

আপনার কেবলমাত্র পাঠক / লেখক এবং সত্যিকারের স্ট্রিমগুলি বন্ধ করার বিষয়ে বিবেচনা করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.