我有一个列表,让我们说3条记录。我正在使用for循环处理第一条记录并生成结果。如何在处理其他两条记录之前删除第一条记录。请在下面找到我的代码:
public void processDataToResultantCsv(List<OutputCsvDataDto> outputDataList)
{
List<String> files = this.getOutgoingFileName();
for (String fileName : files) {
this.outgoingFilepath =
this.renameFilePathWithDate(this.outgoingFilepath);
new File(this.outgoingFilepath.trim()).mkdirs();
fileName = this.outgoingFilepath + "/" + fileName;
log.info("Output csv name : " + fileName);
this.writer.writeToCsv(outputDataList, fileName);
this.backupFile(fileName, this.fileBackupPath);
}
}
files对象有3条记录。它处理文件对象中第一个文件的记录。读取第二个对象但仍有第一个对象的数据。如何在处理第二个记录之前清除第一个记录的数据? ??
答案 0 :(得分:4)
您可以使用Iterator
。
我们假设您要删除循环给出的当前String
:
Iterator<String> filesIterator = this.getOutgoingFileName().iterator();
while(filesIterator.hasNext()) {
String fileName = filesIterator.next();
//TODO do your stuff
filesIterator.remove(); //Removes it from the List<String> (getOutgoingFileName())
}