Я уверен, что это имеет какое-то отношение к разделителям, и я относительно новичок в Java и не могу найти ответа. Я должен прочитать из файла под названием Simulation.Configuration, который имеет эти данные в нем:Проблемы с чтением данных из файла - java
dimensionX: 100
dimensionY: 100
numberOfMobileObjects: 5
durationOfSimulationTime: 10
WarningGeotask: 1, 3
WarningGeotask: 2, 3
CounterGeotask: 1, 3
PopuplationMonitoringGeotask: 2, 3, 3
У меня есть сканер для чтения через, чтобы найти данные и делать определенные вещи с ними. Я легко могу пройти мимо меток (размерX, размерностьY и т. Д.), Но, похоже, не может получить цифры. Я пробовал много способов, используя разделители, чтобы достигнуть этих чисел, но не похоже, чтобы добраться до them.The самой последней, которую я пробовал использует
scanner.useDelimiter("[ ,:]");
пробиться к данным. Когда я это делаю, он дает мне InputMismatchException. Вот как я читаю файл:
Scanner scanConfig = new Scanner(new File("Simulation.Configuration"));
scanConfig.useDelimiter("[ ,:]");
int dimensionX = 0;
int dimensionY = 0;
int numberOfMobileObjects = 0;
while(scanConfig.hasNextLine()){
String nextLabel = scanConfig.next();
if(nextLabel.equals("dimensionX")){
dimensionX = scanConfig.nextInt();
}
if(nextLabel.equals("dimensionY")){
dimensionY = scanConfig.nextInt();
}
if(nextLabel.equals("numberOfMobileObjects")){
numberOfMobileObjects = scanConfig.nextInt();
}
Я посмотрел на всем протяжении и не смогли найти ничего, что помогло моей ситуации. Любые советы по этому поводу будут прекрасными.
возможно сохранить в hashmap тогда? .. – Sionnach733