0

假设我们有一个包含动物及其颜色的文本文件:

dog=brown
cat=yellow
bird=red

我需要得到动物的颜色,所以我写了这个方法。我用参数中我想要颜色的动物调用该方法。

public String getAnimal(String animal) throws IOException{
        Scanner sc = new Scanner(TEXT_FILE).useDelimiter("=");
        for (int i = 0; i < 3; i++){
            if(sc.nextLine().startsWith(animal)){
                sc.next();
                return sc.next();
            }
            sc.nextLine();
        }
         return null;
    }

它只是半有效的。例如调用System.out.println(getAnimal("cat"));,打印:

yellow
cat

就像扫描仪忽略了有任何行并在分隔符之间打印任何内容的事实。

4

1 回答 1

0

如果这是您期望的输入格式,请使用 Properties 类 (docs.oracle.com/javase/6/docs/api/java/util/Properties.html)

或者

您可以使用Apache FileUtils.readLines读取所有行。然后使用String.split和character拆分字符串=以分隔键值对。

于 2013-02-20T06:00:52.927 回答