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 に答える