import java.io.BufferedReader; import java.io.FileReader; public class ArrayDoubler { public static void main(String[] args) { String[] array = new String[10]; try { System.out.println("Initial array length: " + array.length); BufferedReader in = new BufferedReader(new FileReader("songlist.txt")); String next = null; int count = 0; while ((next = in.readLine()) != null) { if (count == array.length) { array = doubleArrayLength(array); } array[count] = next; count++; } System.out.println("Final array length: " + array.length); in.close(); } catch (Exception e) { e.printStackTrace(); } } public static String[] doubleArrayLength(String[] array) { String[] tempArray = new String[array.length * 2]; for (int i = 0; i < array.length; i++) { tempArray[i] = array[i]; } return tempArray; } public static String[] doubleArrayLength2(String[] array) { String[] tempArray = new String[array.length * 2]; System.arraycopy(array, 0, tempArray, 0, array.length); return tempArray; } }