我一直在做一项工作,当我尝试运行它时,我的 IDE 冻结了,我不得不使用任务管理器将其关闭。
知道为什么吗?我知道这与我使用的迭代器和 while 循环有关。
有人能看出来吗?下面是部分 servlet 代码:
try {
List<FileItem> fields = upload.parseRequest(request);
Iterator<FileItem> it = fields.iterator();
//starting conversion from file to sample
//creating a container to hold the samples
ArrayList<sample> samplelist = new ArrayList();
while (it.hasNext()) {
sample c = new sample();
FileItem fileItem = it.next();
c.setFileName(fileItem.getName());
c.setPayload(fileItem.getString());
samplelist.add(c);
}
//looping through uploaded samples to split code into lines
for (int i = 0; i < samplelist.size(); i++) {
sample current = new sample();
current = samplelist.get(i);
//splitting whole code block into lines based on ;
String[] temp;
temp = current.getPayload().split(";");
//going through split lines and adding them to the sample's rawcode
//arraylist after checking for for loops
for (int j = 0; j < temp.length; j++) {
// current.Raw_Code.add(temp[j]);
String current_line = temp[j];
current.Raw_Code.add(current_line);
}
}
//testing
System.out.print("starting testing");
for (int i = 0; i < samplelist.size(); i++) {
sample current = new sample();
current = samplelist.get(i);
System.out.print("File name <br/>");
current.getFileName();
System.out.print("lines detected <br/>");
Iterator itr = current.Raw_Code.iterator();
//this while loop started to cause the problem
while(itr.hasNext()){
System.out.print("x");
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}
out.close();
return;