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

只需将 ajavax.swing.ProgressMonitorInputStream放入输入堆栈。

于 2013-07-19T23:22:21.380 回答
1

每次读取一个字节,计数器加一。提供一种方法来返回总字节数和读取的字节数。在 GUI 代码中,将进度条的最大值设置为字节数,并启动一个计时器,该计时器progress.setValue以当前读取的字节数定期调用。

于 2013-07-19T22:59:04.680 回答