一直搞不明白为什么request.setCharacterEncoding("GBK")不起作用,看了这篇文章,茅塞顿开。
我已经知道百分比不正常显示的原因了,将程序中下面这一句:
System.out.println("文件接收了" + (passedlen * 100/ len) + "%\n");
改为:
System.out.println("文件接收了" + (passedlen * 100L/ len) + "%\n");
就可以了。
数据太大整形数据原因。
我在测试的时候发现客户端显示的文件接收百分比为负的,看了半天也没看出是什么原因。