我使用以下代码使用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();
}
}
};
答案 0 :(得分:1)
每次读取一个字节时,将一个字节添加到计数器。提供一种方法来返回总字节数和读取的字节数。在GUI代码中,将进度条的最大值设置为字节数,并启动一个定时调用progress.setValue
并使用当前读取的字节数的定时器。
答案 1 :(得分:1)
只需将javax.swing.ProgressMonitorInputStream
放入输入堆栈。