中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

利用Java實現文件下載進度條的方法

小樊
103
2024-10-10 01:50:41
欄目: 編程語言

在Java中,可以使用Swing庫中的JProgressBar組件來實現文件下載進度條

  1. 首先,確保已經導入了以下必要的庫:
import javax.swing.*;
import java.awt.*;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
  1. 創建一個JFrame窗口,并在其中添加一個JProgressBar組件:
public class FileDownloader {
    public static void main(String[] args) {
        JFrame frame = new JFrame("File Downloader");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 200);

        JProgressBar progressBar = new JProgressBar();
        progressBar.setStringPainted(true);
        frame.getContentPane().add(progressBar, BorderLayout.CENTER);

        frame.setVisible(true);
    }
}
  1. 創建一個方法來下載文件,并在其中更新進度條:
public static void downloadFile(String fileURL, String savePath) {
    try {
        URL url = new URL(fileURL);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.connect();

        int fileSize = connection.getContentLength();
        int bytesRead;
        byte[] data = new byte[1024];
        InputStream inputStream = new BufferedInputStream(url.openStream());
        FileOutputStream fileOutputStream = new FileOutputStream(savePath);

        progressBar.setMinimum(0);
        progressBar.setMaximum(fileSize);

        while ((bytesRead = inputStream.read(data, 0, 1024)) != -1) {
            fileOutputStream.write(data, 0, bytesRead);
            int progress = (int) (((double) bytesRead / fileSize) * 100);
            progressBar.setValue(progress);
        }

        fileOutputStream.close();
        inputStream.close();
        connection.disconnect();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
  1. main方法中調用downloadFile方法來下載文件:
public static void main(String[] args) {
    // ... 創建JFrame窗口和JProgressBar組件

    String fileURL = "https://example.com/path/to/your/file.txt";
    String savePath = "D:/downloaded_file.txt";

    downloadFile(fileURL, savePath);
}

現在,當你運行這個程序時,它將下載指定的文件,并在JProgressBar組件上顯示下載進度。請注意,這個示例僅適用于HTTP和HTTPS協議的文件下載。如果你需要下載FTP協議的文件,你需要使用其他庫(如Apache Commons Net)來實現。

0
达拉特旗| 绵竹市| 专栏| 湖口县| 靖江市| 保山市| 吉水县| 六枝特区| 安塞县| 浦城县| 贵定县| 若羌县| 泰兴市| 莱州市| 冷水江市| 油尖旺区| 伊金霍洛旗| 正安县| 新营市| 崇仁县| 贡嘎县| 彰化县| 略阳县| 湖口县| 金山区| 于田县| 甘泉县| 龙江县| 曲水县| 上高县| 浑源县| 钟山县| 尉氏县| 石景山区| 彰化县| 汝南县| 喀什市| 明光市| 岑巩县| 兴和县| 芦溪县|