আমি ধরে নিচ্ছি আপনার অর্থ 'ব্যবহার' এর অর্থ পড়ার অর্থ, তবে পড়ার ক্ষেত্রে আমি যা ব্যাখ্যা করব তা মূলত লেখার ক্ষেত্রে বিপরীত হতে পারে।
সুতরাং আপনি একটি বাইট দিয়ে শেষ []। এটি কোনও ধরণের ডেটা উপস্থাপন করতে পারে যার জন্য বিশেষ ধরণের রূপান্তরগুলির প্রয়োজন হতে পারে (চরিত্র, এনক্রিপ্ট করা ইত্যাদি)। আসুন আপনি এই ফাইলটি কোনও ফাইলের মতোই লিখতে চান তা ভান করি।
প্রথমত আপনি একটি বাইটআরআইআইপুট স্ট্রিম তৈরি করতে পারেন যা মূলত ক্রমানুসারে কিছুতে বাইট সরবরাহ করার ব্যবস্থা mechanism
তারপরে আপনি যে ফাইলটি তৈরি করতে চান তার জন্য আপনি একটি ফাইলআউটপুট স্ট্রিম তৈরি করতে পারেন। বিভিন্ন ডেটা উত্স এবং গন্তব্যগুলির জন্য অনেক ধরণের ইনপুট স্ট্রিম এবং আউটপুট স্ট্রিম রয়েছে।
শেষ পর্যন্ত আপনি আউটপুট স্ট্রিমে ইনপুট স্ট্রিম লিখবেন। এই ক্ষেত্রে, বাইটের অ্যারেটি লেখার জন্য ফাইলআউটপুট স্ট্রিমের ধারাবাহিকতায় প্রেরণ করা হত। এর জন্য আমি আইওউটিস ব্যবহার করার পরামর্শ দিচ্ছি
byte[] bytes = ...;//
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
FileOutputStream out = new FileOutputStream(new File(...));
IOUtils.copy(in, out);
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
এবং বিপরীতে
FileInputStream in = new FileInputStream(new File(...));
ByteArrayOutputStream out = new ByteArrayOutputStream();
IOUtils.copy(in, out);
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
byte[] bytes = out.toByteArray();
আপনি যদি উপরের কোড স্নিপেটগুলি ব্যবহার করেন তবে আপনাকে ব্যতিক্রমগুলি পরিচালনা করতে হবে এবং আমি আপনাকে শেষ অবধি 'ক্লোজস' করার পরামর্শ দিচ্ছি recommend