需求:按文件名列表下载相应的文件,下载完后退出线程
我的做法是这样的
读取文件列表,将列表封装在Vector中
循环,下载完后,从Vector中去除下载完的对象 removeElementAt(i)
但是这样本来需要下载50个文件 不知道怎么调用removeElementAt(i)这个方法以后就变成下载26个文件了
不解,求大侠指点
public static void main(String[] args)
{
String [] fileList;
fileList = new Test1().getFileList();
Vector vcr = new Vector(fileList.length);
for(int i=0;i<fileList.length;i++)
{
vcr.addElement(fileList[i]);
}
System.out.println(vcr.size());
for(int j=0;j<vcr.size();j++)
{
String tmpStr = vcr.elementAt(j).toString();
System.out.println(j + ":" + tmpStr);
vcr.removeElementAt(j);
vcr.trimToSize();
}
}
有没有更好的方法呀
我的做法是这样的
读取文件列表,将列表封装在Vector中
循环,下载完后,从Vector中去除下载完的对象 removeElementAt(i)
但是这样本来需要下载50个文件 不知道怎么调用removeElementAt(i)这个方法以后就变成下载26个文件了
不解,求大侠指点
public static void main(String[] args)
{
String [] fileList;
fileList = new Test1().getFileList();
Vector vcr = new Vector(fileList.length);
for(int i=0;i<fileList.length;i++)
{
vcr.addElement(fileList[i]);
}
System.out.println(vcr.size());
for(int j=0;j<vcr.size();j++)
{
String tmpStr = vcr.elementAt(j).toString();
System.out.println(j + ":" + tmpStr);
vcr.removeElementAt(j);
vcr.trimToSize();
}
}
有没有更好的方法呀
你remove掉了,那么vcr的size就变了呀。后面的元素的位置全变了呀。你可以采取始终删除最后面的那个的方式
{
String tmpStr = vcr.elementAt(j).toString();
System.out.println(j + ":" + tmpStr);
vcr.removeElementAt(j);
vcrvcr.size();
每次都在变小,当然就减半了啊
以上只是猜测,具体还得看另外的代码
直到Vector元素空了就退出线程
可能到某一时段又要重新start()
另外一个线程就是控制这个线程的启动