/** * This method is relocated and minor modification was made * * @author wei wang, 5/21/2014 */ private void yieldNewEDFHeaders() { int numberOfOpenedFiles = sourceFiles.size(); ArrayList<EDFFileHeader> edfHeaders = new ArrayList<EDFFileHeader>(numberOfOpenedFiles); ArrayList<EDFFileHeader> edfHeaderCopies = new ArrayList<EDFFileHeader>(numberOfOpenedFiles); MainWindow.srcEdfFileHeaders = new ArrayList<EDFFileHeader>(numberOfOpenedFiles); // read each file to build headers File currentEDF; for (int i = 0; i < numberOfOpenedFiles; i++) { // Loop through each of the EDF files read in currentEDF = sourceFiles.get(i); // For progress bar if ((i + 1) % (scale * 2) == 0) { task.increaseProgress(); } try { RandomAccessFile raf = new RandomAccessFile(currentEDF, "r"); // EDF headers array: edfHeaders.add(i, new EDFFileHeader(raf, currentEDF, false)); // raf was closed in the 'new EDFFileHeader(raf, currentFile, false)' method raf = new RandomAccessFile(currentEDF, "r"); edfHeaderCopies.add(i, new EDFFileHeader(raf, currentEDF, false)); } catch (IOException f) { JOptionPane.showMessageDialog( null, "File invalid: wrong format or empty. ", "Data read error", JOptionPane.ERROR_MESSAGE); } } MainWindow.setSrcEdfFileHeaders(edfHeaders); MainWindow.setDupEdfFileHeaders(edfHeaderCopies); }