জাভা.ও.ফায়ালের জন্য জাভাতে এমকিডির () এবং এমকডিয়ার () এর মধ্যে পার্থক্য


123

এই দুটি পদ্ধতির মধ্যে পার্থক্য কি কেউ আমাকে বলতে পারবেন:

  • file.mkdir()
  • file.mkdirs()

23
পড়ুন javadoc: mkdir, বনাম mkdirs
assylias

2
এটা করতে নতুন উপায় Files.createDirectories এবং Files.createDirectory স্ট্যাটিক পদ্ধতি ব্যবহার করে হল: docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html
Neves

আপনি mkdir ব্যবহারের পরে "ফাইল সমর্থিত নয়" পেতে পারেন।
ব্যবহারকারী7856586

দুজনের মধ্যে কি পারফরম্যান্সের পার্থক্য রয়েছে? বিশেষত যখন পিতামাতার ডিরেক্টরি ইতিমধ্যে বিদ্যমান?
জোশুয়া পিন্টার

উত্তর:


158

mkdirs()এটি যে পথে প্রতিনিধিত্ব করে সেখানে পিতামাত ডিরেক্টরিগুলিও তৈরি করে File

javadocs এর জন্য mkdirs():

প্রয়োজনীয় তবে অস্তিত্বহীন অভিভাবক ডিরেক্টরি সহ এই বিমূর্ত পথের নাম অনুসারে ডিরেক্টরি তৈরি করে। মনে রাখবেন যে এই অপারেশনটি ব্যর্থ হলে এটি প্রয়োজনীয় কিছু মূল ডিরেক্টরি তৈরি করতে সফল হতে পারে।

javadocs এর জন্য mkdir():

এই বিমূর্ত পথের নাম অনুসারে ডিরেক্টরি তৈরি করে।

উদাহরণ:

File  f = new File("non_existing_dir/someDir");
System.out.println(f.mkdir());
System.out.println(f.mkdirs());

falseপ্রথমটির জন্য ফলন করবে [এবং কোনও দির তৈরি হবে না] এবং trueদ্বিতীয়টির জন্য এবং আপনি সৃষ্টি করবেনnon_existing_dir/someDir


7
: ওরাকল আবার ইন্টারনেট লিঙ্ক ভঙ্গ হয় কারণ ) mkdirs ( এবং ) mkdir, (
MyPasswordIsLasercats

@ মাইপ্যাসওয়ার্ডআইএসএলসারাক্যাটস আমাকে জানানোর জন্য আপনাকে ধন্যবাদ। স্থির করেছি।
amit

1
ডিরেক্টরিটি ইতিমধ্যে বিদ্যমান থাকলে, mkdir()ফিরে আসে trueনাকি false? জাভাদোক এই দিকটি কভার করে বলে মনে হচ্ছে না।
অরুণ

@ অরুন, জাভাডোকের মতে এটি "সত্য যদি এবং কেবল যদি ডিরেক্টরিটি তৈরি করা হয়েছিল" প্রত্যাবর্তন করে, যা আমি মনে করি যে এটি এই কল দ্বারা বা এর আগে তৈরি হয়েছিল কিনা তা নিয়ে দ্বিধাগ্রস্ত। এই উত্তর প্রাক্তন পরামর্শ দেয়।
স্যামুয়েল এডউইন ওয়ার্ড

mkdir এবং mkdirs উভয়ই আমার মামলায় মিথ্যা ফিরিয়ে দেয় -.-। আমি ডাবল ব্যাকস্ল্যাশ "UT" বিট: যদি আমি এটি করি "। টুআরআই ()" ব্যবহার করি তবে তার পরে এটি কাজ করে: ফাইল: / ব্যবহারকারী / মাইনেম / ডেস্কটপ /% 5 কনন_অস্তিযুক্ত_ডির% 5Comeomeir / এবং যদি আমি করি ".getPath () "আমি" \ non_existing_dir \ someDir "পাই এবং যদি আমি করি" .getCanonicalPath () "আমি / ব্যবহারকারী / MyName / ডেস্কটপ / \ non_existing_dir \ কিছু দির পেয়েছি
এয়ারক্স

62

mkdirs()সম্পূর্ণরূপে নির্দিষ্ট ডিরেক্টরি পথ mkdir()তৈরি করবে যেখানে কেবল নীচের অংশে সবচেয়ে বেশি ডিরেক্টরি তৈরি করবে, এটি যদি এটি তৈরি করার চেষ্টা করছে এমন ডিরেক্টরিটির প্যারেন্ট ডিরেক্টরিটি খুঁজে না পাওয়া যায় তবে ব্যর্থ হয়।

অন্য কথায় mkdir()মত mkdirএবং mkdirs()মত হয় mkdir -p

উদাহরণস্বরূপ, কল্পনা করুন যে আমাদের একটি খালি /tmpডিরেক্টরি রয়েছে। নিম্নলিখিত কোড

new File("/tmp/one/two/three").mkdirs();

নিম্নলিখিত ডিরেক্টরি তৈরি করতে হবে:

  • /tmp/one
  • /tmp/one/two
  • /tmp/one/two/three

যেখানে এই কোড:

new File("/tmp/one/two/three").mkdir();

কোনও ডিরেক্টরি তৈরি করবে না - কারণ এটি খুঁজে না পেয়েছিল /tmp/one/two- এবং ফিরে আসত false


4
mkdir()

এটি কেবলমাত্র পিতামাতার যদি হয় তবে একবারে কেবল একটি ডিরেক্টরি তৈরি করে। অন্যভাবে এটি উপ ডিরেক্টরি তৈরি করতে পারে (যদি নির্দিষ্ট পাথটি কেবল বিদ্যমান থাকে) এবং কোনও দুটি ডিরেক্টরির মধ্যে কোনও ডিরেক্টরি তৈরি করবেন না। সুতরাং এটি এক ডিরেক্টরিতে স্মলিটল ডিরেক্টরি তৈরি করতে পারে না

mkdirs()

একসাথে একাধিক ডিরেক্টরি (দুটি ডিরেক্টরির মধ্যেও) তৈরি করুন।

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