Ого, это плохо. Жесткие данные кодирования в вашей программе никогда не являются хорошей идеей в первую очередь. Жесткое кодирование a ton данных не лучше, и вы сталкиваетесь с ограничениями, описанными в других ответах.
Существует несколько способов исправить это, но следующее не должно нарушать какой-либо другой код.
public static String[] getTheArrayThing(){
List<String> list = new LinkedList<String>();
try {
BufferedReader br = new BufferedReader(new FileReader(<the file>));
String line = br.readLine();
while (line != null) {
list.add(line);
line = br.readLine();
}
} catch (Exception e){
throw new IllegalStateException("Couldn't load array file");
}
return list.toArray(new String[0]);
}
Bascially метод создает (и возвращается, но он может так же легко изменить переменный класс) массив, содержащий каждую строку файла в порядке.
Просто введите значения в исходном примере (например, «newyorkartworld») в текстовый файл - в порядке - и используйте это для загрузки массива.
Хотя это простое замену будет работать, есть гораздо более элегантное решение, если вы можете найти время, чтобы сделать небольшой рефакторинг.
OMG O_O ... это действительно BAD, BAD, BAD design ... –
Я просто ошеломлен ... Там должен быть лучший способ сделать это. –
Да, да, я согласен - дизайн безнадежен. Первоначально размер массива был всего 64, поэтому я не нашел необходимости читать из файла. Теперь остальная часть кода зависит от того, что это массив, поэтому я подумал, что могу получить временное решение, а затем позже упорядочивать вещи, читая из файла. хорошо, попробую свои предложения, спасибо! – trinity