0

次のコードを使用して、PUT 要求を使用してファイルをサーバーにアップロードしています。これは正常に動作します。JProgressBarしかし、このコードにを追加したいのですが、どのようにすればよいでしょうか? 必要なプログレスバーを実現するためにどのクラスを使用すればよいかわかりません。

RequestEntity re = new RequestEntity() {
    @Override
    public long getContentLength() {
        // TODO Auto-generated method stub
        return file.length();
    }

    @Override
    public String getContentType() {
        // TODO Auto-generated method stub
        return "application/octet-stream";
    }

    @Override
    public boolean isRepeatable() {
        // TODO Auto-generated method stub
        return true;
    }

    @Override
    public void writeRequest(OutputStream outputStream) throws IOException {
        // TODO Auto-generated method stub
        InputStream in = new FileInputStream(file);
        try {
            int l;
            byte[] buffer = new byte[1024];
            while ((l = in.read(buffer)) != -1) {
                outputStream.write(buffer, 0, l);
            }
        } finally {
            in.close();
        }
    }
};
4

2 に答える 2

1

javax.swing.ProgressMonitorInputStreamaを入力スタックに入れるだけです。

于 2013-07-19T23:22:21.380 に答える
1

バイトが読み取られるたびに、カウンターに 1 を追加します。合計バイト数と読み取ったバイト数を返すメソッドを提供します。progress.setValueGUI コードで、進行状況バーの最大値をバイト数に設定し、現在の読み取りバイト数で定期的に呼び出すタイマーを開始します。

于 2013-07-19T22:59:04.680 に答える