java带参带进度条(真实)上传文件代码
思路如下:
public class MyClass extends Thread {
public JProgressBar bar = new JProgressBar();//进度条
public OutputStream os;// 通向服务器的流
public InputStream is;// 你的文件流
public long len;// 你文件的总长度
public void run() {
byte[] buff = new byte[1024];
long passedlen = 0;
try {
int mark = 0;
while (true) {
mark = is.read(buff, 0, 1024);
os.write(buff, 0, mark);
// 更新进度
passedlen += mark;
int prog = (int) ((double) passedlen / (len == 0 ? 1 : len) * 100);
// 改变进度条的value值
bar.setValue(prog);
// 结束判定
if (passedlen == len) {
break;
}
}
os.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}