1. Files
ক্লাস
ফাইলগুলির সাথে কাজ করার জন্য, একটি চটকদার ইউটিলিটি ক্লাস রয়েছে — java.nio.file.Files
. এটি প্রতিটি অনুষ্ঠানের জন্য পদ্ধতি আছে. এই শ্রেণীর সমস্ত পদ্ধতি স্থির এবং পাথ অবজেক্টে কাজ করে। অনেকগুলি পদ্ধতি রয়েছে, তাই আমরা শুধুমাত্র সবচেয়ে গুরুত্বপূর্ণগুলি বিবেচনা করব:
পদ্ধতি | বর্ণনা |
---|---|
|
একটি নতুন ফাইল তৈরি করে যার পাথpath |
|
একটি নতুন ডিরেক্টরি তৈরি করে |
|
একাধিক ডিরেক্টরি তৈরি করে |
|
একটি অস্থায়ী ফাইল তৈরি করে |
|
একটি অস্থায়ী ডিরেক্টরি তৈরি করে |
|
একটি ফাইল বা ডিরেক্টরি খালি থাকলে মুছে দেয় |
|
একটি ফাইল কপি করে |
|
একটি ফাইল সরান |
|
পাথটি একটি ডিরেক্টরি এবং একটি ফাইল নয় কিনা তা পরীক্ষা করে |
|
পাথটি একটি ফাইল এবং একটি ডিরেক্টরি নয় কিনা তা পরীক্ষা করে |
|
প্রদত্ত পথে একটি বস্তু বিদ্যমান কিনা তা পরীক্ষা করে |
|
ফাইলের আকার ফেরত দেয় |
|
বাইটের অ্যারে হিসাবে একটি ফাইলের সম্পূর্ণ বিষয়বস্তু ফেরত দেয় |
|
একটি স্ট্রিং হিসাবে একটি ফাইলের সম্পূর্ণ বিষয়বস্তু ফেরত দেয় |
|
স্ট্রিংগুলির একটি তালিকা হিসাবে একটি ফাইলের সম্পূর্ণ বিষয়বস্তু ফেরত দেয় |
|
একটি ফাইলে বাইটের একটি অ্যারে লেখে |
|
একটি ফাইলে একটি স্ট্রিং লেখে |
|
প্রদত্ত ডিরেক্টরি থেকে ফাইলের (এবং সাবডিরেক্টরি) সংগ্রহ ফেরত দেয় |
2. ফাইল এবং ডিরেক্টরি তৈরি করা
ফাইল এবং ডিরেক্টরি তৈরি করা খুব সহজ। আসুন কিছু উদাহরণ দিয়ে নিজেদেরকে বোঝাই:
কোড | বিঃদ্রঃ |
---|---|
|
একটি ফাইল তৈরি করে |
|
একটি ডিরেক্টরি তৈরি করে |
|
একটি ডিরেক্টরি এবং সমস্ত প্রয়োজনীয় সাবডিরেক্টরি তৈরি করে যদি সেগুলি বিদ্যমান না থাকে। |
3. অনুলিপি করা, সরানো এবং মুছে ফেলা
ফাইল কপি করা, সরানো এবং মুছে ফেলা ঠিক ততটাই সহজ। এটি ডিরেক্টরিগুলির ক্ষেত্রেও প্রযোজ্য, তবে সেগুলি অবশ্যই খালি হতে হবে।
কোড | বিঃদ্রঃ |
---|---|
|
একটি ফাইল কপি করে |
|
একটি ফাইল সরানো এবং পুনঃনামকরণ করে |
|
একটি ফাইল মুছে দেয় |
4. একটি ফাইলের ধরন এবং অস্তিত্ব পরীক্ষা করা
যখন আপনার কাছে অন্য কারো দ্বারা প্রদত্ত একটি পথ থাকে, আপনি জানতে চান এটি একটি ফাইল বা একটি ডিরেক্টরি কিনা। এবং সাধারণভাবে, এই ধরনের একটি ফাইল/ডিরেক্টরি বিদ্যমান বা না?
এর জন্য বিশেষ পদ্ধতিও রয়েছে। আপনি সহজেই একটি ফাইলের দৈর্ঘ্য খুঁজে পেতে পারেন:
কোড | বিঃদ্রঃ |
---|---|
|
|
|
|
|
|
|
|
5. ফাইলের বিষয়বস্তু নিয়ে কাজ করা
অবশেষে, পদ্ধতির একটি সম্পূর্ণ সিরিজ রয়েছে যা একটি ফাইলের বিষয়বস্তু পড়া বা লেখা সহজ করে তোলে। উদাহরণ:
কোড | বর্ণনা |
---|---|
|
স্ট্রিংগুলির একটি তালিকা হিসাবে ফাইলের বিষয়বস্তু পড়ুন। স্ট্রিংগুলি প্রদর্শন করুন |
6. একটি ডিরেক্টরির বিষয়বস্তু পাওয়া
সবচেয়ে আকর্ষণীয় পদ্ধতি এখনও অবশেষ। এটি একটি প্রদত্ত ডিরেক্টরিতে ফাইল এবং সাবডিরেক্টরি পেতে ব্যবহৃত হয়।
আমরা পদ্ধতি সম্পর্কে কথা বলছি newDirectoryStream()
, যা একটি বিশেষ DirectoryStream<Path>
বস্তু প্রদান করে। এটিতে একটি পুনরাবৃত্তিকারী(!) রয়েছে যা আপনি একটি প্রদত্ত ডিরেক্টরির সমস্ত ফাইল এবং সাবডিরেক্টরি পেতে ব্যবহার করতে পারেন।
এটি শোনার চেয়ে সহজ।
কোড | বর্ণনা |
---|---|
|
ফাইলগুলির একটি তালিকা সহ একটি বস্তু পান ফাইলগুলির তালিকার উপর লুপ করুন৷ |
বস্তুটির DirectoryStream<Path>
দুটি বৈশিষ্ট্য রয়েছে। প্রথমত, এটিতে একটি পুনরাবৃত্তিকারী রয়েছে যা ফাইলের পাথ ফেরত দেয় এবং আমরা এই বস্তুটিকে একটি for-each
লুপের ভিতরে ব্যবহার করতে পারি।
এবং দ্বিতীয়ত, এই অবজেক্টটি একটি ডাটা স্ট্রীম, তাই এটিকে অবশ্যই close()
পদ্ধতিটি ব্যবহার করে স্পষ্টভাবে বন্ধ করতে হবে বা try-with-resources
ব্লকের ভিতরে ব্যবহার ঘোষণা করতে হবে।
7. Files.newInputStream
পদ্ধতি
জাভা 5 দিয়ে শুরু করে, FileInputStream
এবং FileOutputStream
ক্লাসগুলি বাতিল করা হয়েছে। তাদের অসুবিধাগুলির মধ্যে একটি ছিল যে যখন এই শ্রেণীর বস্তুগুলি তৈরি করা হয়, তখন ফাইলগুলি অবিলম্বে ডিস্কে তৈরি হয়। এবং ফাইল তৈরির সাথে সম্পর্কিত সমস্ত ব্যতিক্রম সম্ভাব্যভাবে নিক্ষেপ করা যেতে পারে।
পরে এটি সেরা সিদ্ধান্ত নয় বলে স্বীকৃত হয়। java.nio.Files
তদনুসারে, ফাইল অবজেক্ট তৈরি করতে ইউটিলিটি ক্লাসের পদ্ধতিগুলি ব্যবহার করার পরামর্শ দেওয়া হয় ।
এখানে পুরানো পদ্ধতি এবং ফাইল তৈরির জন্য নতুন পদ্ধতির মধ্যে একটি তুলনা:
আগে |
---|
|
পরে |
|
এবং এর জন্য একটি অনুরূপ প্রতিস্থাপন আছে FileOutputStream
:
আগে |
---|
|
পরে |
|
GO TO FULL VERSION