Ok, heb het probleem opgelost.
Ik heb gebruik gemaakt van een Iterator om door de lijst te gaan in plaats van de for-lus.
Begrijp nog steeds het probleem niet, maarja zo werkt het ook.
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import org.blinkenlights.jid3.MP3File;
public class handleFileQueue
{
private ArrayList<File> fileQueue;
public handleFileQueue(File musicFolder)
{
fileQueue = new ArrayList();
String[] fileArr = musicFolder.list();
for (int i = 0; i < fileArr.length; i++)
{
fileQueue.add(new File(musicFolder + "/" + fileArr[i]));
}
}
public void printQueue()
{
for (File file : fileQueue)
{
System.out.printf("%s\n", file);
}
}
public void removeTagged(String skipComment)
{
Iterator<File> itr = fileQueue.iterator();
while (itr.hasNext())
{
MP3File currentFile = new MP3File(itr.next());
try
{
if (currentFile.getID3V2Tag().getComment().equalsIgnoreCase(skipComment))
{
itr.remove();
}
} catch (org.blinkenlights.jid3.ID3Exception excp1)
{
System.out.printf("%s\n%s\n%s\n\n", "error reading MP3File", "error in handleFileQueue", excp1.getMessage());
} catch (NullPointerException excp2)
{
System.out.printf("%s\n%s\n%s\n\n", "error: NullPointerException, no comment tag set", "error in handleFileQueue", excp2.getMessage());
}
}
}
public int getFileQueueLength()
{
return fileQueue.size();
}
public ArrayList<File> getFileQueue()
{
return fileQueue;
}
}