gpt4 book ai didi

java - 从文件读取数据时遇到问题 - java

转载 作者:行者123 更新时间:2023-12-01 13:30:16 28 4
gpt4 key购买 nike

我很确定这与分隔符有关,而且我对 Java 还比较陌生,似乎找不到答案。我必须从名为“Simulation.Configuration”的文件中读取数据,其中包含以下数据:

    dimensionX: 100
dimensionY: 100
numberOfMobileObjects: 5
durationOfSimulationTime: 10
WarningGeotask: 1, 3
WarningGeotask: 2, 3
CounterGeotask: 1, 3
PopuplationMonitoringGeotask: 2, 3, 3

我有一个扫描仪来读取数据并用它们做某些事情。我可以轻松地通过标签(dimensionX、dimensionY 等),但似乎无法获取数字。我已经尝试了很多使用分隔符来达到这些数字的方法,但似乎无法达到它们。我最近尝试过的一种方法是使用

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();
}

我查遍了一切,但找不到任何对我的情况有帮助的东西。任何关于这方面的提示都会很可爱。

最佳答案

regex您提供的分隔符并没有按照您的想法进行。我会采取而是采用这种方法。

String input = scanner.nextLine();
String[] array = input.split(":");
String label = array[0];
String data = array[1];
String[] number = data.split(",");
Integer x = new Integer(number[0]);

Documentation for String#split()

关于java - 从文件读取数据时遇到问题 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21610021/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com