perm_phone_msgUNDER ATTACK? S.O.S. LINE 01781669080

Top Categories

Spotlight

Aditta Chakraborty

today13 September, 2021

Sanaton + Lord Shiva Aditta

কৈলাস পর্বতে পরমাত্মা সদাশিবের পরিচয়

আমরা কম বেশি সবাই জানি কৈলাস পর্বত হচ্ছে শিবের বাসস্থান। আসলেই কি কৈলাস পর্বত শিবের বাসস্থান? পরমেশ্বর সদাশিব যখন ব্রহ্মাকে সৃষ্টির কাজ করতে আদেশ দেন তখন ব্রহ্মা প্রথমেই কয়েকজন মানসপুত্রের সৃষ্টি করলেন। কিন্তু তারা সকলেই সংসার-বৈরাগী হলেন। এতে ব্রহ্মা ক্ষেপে যান। ব্রহ্মা ক্রোধে রোদন করতে থাকেন। তার ফলে সৃষ্টি হয় [...]


সার্ভার থেকে জাভা Stream দিয়ে ফাইল ডাউনলোড

Java Aditta today17 May, 2020 139 5

Background
share close

কোন একটি ওয়েবসাইট থেকে জাভার সাহায্যে ফাইল ডাউনলোড করতে চাইলে আমরা নানাভাবে ফাইল ডাউনলোড করতে পারি। কিন্তু কোন পদ্ধতি ভাল বা এক কথায় পুরো ফাইল একটানে বিনা কানেকশন লসে, বেশি স্পিডে, ফাইল যেন ড্যামেজ না হয় তার জন্য কোনটি সঠিক হবে তা সিলেক্ট করা একটি চ্যালেন্জেবল বিষয়।

 আমি NIO, Stream, HTTP, FTP সহ আরো কয়েকটি পদ্ধতি ব্যবহার করেছি। কিন্তু বেশিরভাগ ক্ষেত্রেই দেখা যায় Connection lost, File not found, Server error সহ স্পীড নিম্নমানের হয়ে থাকে। কিন্তু এরমধ্য থেকেই ঝামেলামুক্ত পদ্ধতি Stream টিই খুঁজে পেয়েছি। 

Java Download File from URL 

package read.webpage;

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
/**
 *
 * @author Aditta Chakraborty
 */
public class FileDownload {
    
    public static void main(String[] args) {
        String url = "https://www.yourdomain.com/myfile.txt";
        
        try {
          downloadUsingStream(url, "./myfile.txt");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void downloadUsingStream(String urlStr, String file) throws IOException{
        URL url = new URL(urlStr);
        BufferedInputStream bis = new BufferedInputStream(url.openStream());
        FileOutputStream fis = new FileOutputStream(file);
        byte[] buffer = new byte[1024];
        int count=0;
        while((count = bis.read(buffer,0,1024)) != -1)
        {
            fis.write(buffer, 0, count);
        }
        fis.close();
        bis.close();
    }
    
}

DownloadUsingStream: URL থেকে জাভা ডাউনলোড করার এই পদ্ধতিতে, আমরা ইনপুট স্ট্রিম তৈরি করতে URL ওপেন স্ট্রিম পদ্ধতি ব্যবহার করছি। তারপরে আমরা ইনপুট স্ট্রিম থেকে ডেটা পড়তে এবং ফাইলটিতে লিখতে একটি ফাইল আউটপুট স্ট্রিম ব্যবহার করছি।

ব্যবহারঃ যারা ‍সফটওয়্যার তৈরী করেন তাদের সব সফটওয়্যারে “Update” বলে একটি অপশন থাকে। সেই ক্ষেত্রে সার্ভার থেকে ফাইল ডাউনলোড করতে এটি বেশ কাজে লাগে।

Written by: Aditta

Tagged as: , , , , .

Rate it