ফাইল স্ট্রিম বনাম / পার্থক্য স্ট্রাইমাইটার?


85

প্রশ্ন:

নেট এর মধ্যে FileStreamএবং এর StreamWriterমধ্যে কী আলাদা ?

আপনি এটি কোন প্রসঙ্গে ব্যবহার করার কথা? তাদের সুবিধা এবং অসুবিধা কী?

এই দুটি একত্রিত করা সম্ভব?

উত্তর:


98

ডটনেটে ফাইল স্ট্রিম এবং স্ট্রিম রাইটারের মধ্যে আলাদা কী?

FileStreamহয় ক Stream। সমস্ত স্ট্রিমের মতো এটি কেবল byte[]ডেটা নিয়ে কাজ করে।

StreamWriter : TextWriter, একটি স্ট্রিম-ডেকরেটার। একটি পাঠ্য রচয়িতা স্ট্রিং বা চরের মতো পাঠ্য ডেটা এনকোড করে তারপরে লিঙ্কে byte[]এটি লিখে দেয় Stream

আপনি এটি কোন প্রসঙ্গে ব্যবহার করার কথা? তাদের সুবিধা এবং অসুবিধা কী?

আপনার কাছে byte[]ডেটা থাকলে আপনি একটি খালি ফাইল স্ট্রিম ব্যবহার করেন । আপনি StreamWriterপাঠ্য লিখতে চাইলে একটি যুক্ত করুন । আরও জটিল ডেটা লিখতে একটি ফর্ম্যাটর বা একটি সিরিয়ালাইজার ব্যবহার করুন।

এই দুটি একত্রিত করা সম্ভব?

হ্যাঁ. স্ট্রিম রাইটার তৈরি করতে আপনার সর্বদা একটি স্ট্রিম প্রয়োজন। সহায়ক পদ্ধতি System.IO.File.CreateText("path")এগুলিকে সংমিশ্রণে তৈরি করবে এবং তারপরে আপনাকে কেবল বহিরাগত লেখককে নিষ্পত্তি করতে হবে।


4
এছাড়াও লক্ষ করা গুরুত্বপূর্ণ যে FileStreamএটি স্ট্রিমের একটি ধরণ, এটি ফাইলের দিকে বিশেষভাবে তৈরি। স্ট্রিমগুলি স্থানীয়ভাবে বাইটগুলি নিয়ে কাজ করে তবে StreamWriter/ পাঠক কেবলমাত্র নয়, যে কোনও স্ট্রিমে পাঠ্য লিখবেন / পড়বেন FileStream। উদাহরণস্বরূপ, MemoryStreams, NetworkStreams, ইত্যাদি ..
iliketocode


14

একটি ফাইল স্ট্রিম স্পষ্টভাবে কাজের ফাইলগুলির জন্য উদ্দিষ্ট।

স্ট্রিম রাইটারটি যে কোনও প্রকারের স্ট্রিম - নেটওয়ার্ক সকেট, ফাইল, ইত্যাদিতে স্ট্রিম করতে ব্যবহার করা যেতে পারে

স্কটগু বিভিন্ন স্ট্রিমের অবজেক্টগুলি এখানে খুব সুন্দরভাবে ব্যাখ্যা করেছে: http://www.codeguru.com/Csharp/Csharp/cs_data/streaming/article.php/c4223


4
স্ট্রিমগুলির জন্য দুর্দান্ত রেফারেন্স, যদিও এটি এলোমেলো অ্যাক্সেস আর / ডাব্লু স্ট্রিমকে কভার করে না। বিশেষত সিরিয়ালাইজেশন / ডিসিরিয়ালাইজেশন তথ্য এবং ফাইলবিহীন স্ট্রিমের প্রদর্শন খুব দরকারী। +1
থান্ডারগ্রি

7

ভাল, এমএসডিএন থেকে FileStream:

সিনক্রোনাস এবং অ্যাসিনক্রোনাস উভয়ই পড়া এবং লেখার ক্রিয়াকে সমর্থন করে একটি ফাইলের চারপাশে একটি স্ট্রিম প্রকাশ করে।

এবং এমএসডিএন এর জন্য StreamWriter:

একটি নির্দিষ্ট এনকোডিংয়ে একটি স্ট্রমে অক্ষর লেখার জন্য একটি পাঠ্য রচয়িতা প্রয়োগ করে।

সর্বাধিক সুস্পষ্ট পার্থক্য হ'ল FileStreamপঠন / লেখার ক্রিয়াকলাপের অনুমতি দেয়, যখন StreamWriterকেবল লেখা হয়।

StreamWriterপৃষ্ঠা যোগ করার যায়:

স্ট্রিমউইটার একটি নির্দিষ্ট এনকোডিংয়ে অক্ষর আউটপুট জন্য ডিজাইন করা হয়েছে, যেখানে স্ট্রিম থেকে প্রাপ্ত ক্লাসগুলি বাইট ইনপুট এবং আউটপুট জন্য ডিজাইন করা হয়েছে।

সুতরাং একটি দ্বিতীয় পার্থক্য হ'ল এটি FileStreamবাইটের জন্য, যখন StreamWriterপাঠ্যের জন্য।


6

এগুলি দুটি পৃথক স্তর যা পরিচিত তথ্য উত্সগুলিতে তথ্য আউটপুট ব্যবহার করতে ব্যবহৃত হয়।

FileStreamহ'ল স্ট্রিমের এক প্রকার যা ধারণাগতভাবে এমন একটি প্রক্রিয়া যা কোনও কোনও অবস্থানকে নির্দেশ করে এবং সেই অবস্থান থেকে এবং আগত এবং / অথবা বহির্গামী ডেটা পরিচালনা করতে পারে। ফাইল, নেটওয়ার্ক সংযোগ, মেমরি, পাইপস, কনসোল, ডিবাগ এবং শ্রোতাদের সন্ধান এবং অন্যান্য কয়েকটি ধরণের ডেটা উত্সগুলিতে স্ট্রিমগুলি পড়ার / লেখার জন্য বিদ্যমান। বিশেষত, FileStreamফাইল সিস্টেমে পঠন ও লেখার জন্য একটি উপস্থিত রয়েছে। বেশিরভাগ স্ট্রিমগুলি তাদের ব্যবহারের ক্ষেত্রে বেশ নিম্ন স্তরের এবং বাইট হিসাবে ডেটা নিয়ে কাজ করে।

StreamWriterহ'ল একটি স্ট্রিমের একটি মোড়ক যা এই স্ট্রিমটি প্লেইন পাঠ্য আউটপুট আদান প্রদান করে সহজ করে। এটি এমন পদ্ধতিগুলি প্রকাশ করে যা বাইটের পরিবর্তে স্ট্রিং নেয় এবং বাইট অ্যারেগুলিতে এবং থেকে প্রয়োজনীয় রূপান্তরগুলি সম্পাদন করে। অন্য লেখক আছেন; আপনি যে অন্য প্রধানটি ব্যবহার করবেন সেটি হ'ল এক্সএমএল ফর্ম্যাটে XmlTextWriterডেটা লেখার সুবিধার্থে । লেখকদের কাছে পাঠক সমকক্ষগুলিও রয়েছে যা একইভাবে একটি স্ট্রিমটি গুটিয়ে রাখে এবং ডেটা ফেরত পেতে সহজ করে দেয়।


0

একটি মূল পার্থক্য (উপরের মন্তব্যগুলি ছাড়াও), ফাইলস্ট্রিমটি এলোমেলো ডিস্ক অ্যাক্সেসকে কোনও নির্দিষ্ট ফাইল স্ট্রিম.পজিশনে পড়ার এবং লেখার পক্ষে সমর্থন করে। বড় ফাইল পরিবর্তনের জন্য, এটি অমূল্য হতে পারে।

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