2016-05-04 19 views
0

私はyamlという名前のファイルを使ってオブジェクトに書き込みを試みました。残念ながら、それは動作しませんでした...Yamlbeansライブラリを使ってYamlファイルにオブジェクトを書き込む

package javaapplication22; 

import com.esotericsoftware.yamlbeans.YamlException; 
import com.esotericsoftware.yamlbeans.YamlReader; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 


public class JavaApplication22 { 

    public class Contact { 
    public String name; 
    public int age; 
} 

public static void main(String[] args) throws FileNotFoundException, YamlException { 

    YamlReader reader = new YamlReader(new FileReader("contact.yml")); 
    Contact contact = reader.read(Contact.class); 
    System.out.println(contact.age); 

} 

} 

私はそれが動作しない理由は分かりません。誰かが私を助けることができますか?

+2

内部クラスとして連絡先を定義しないでください。 「仕事」は本当の質問ではありません。あなたが望むふるまい、あなたが実際に得ている行動、そしてあなたが受け取っているエラーメッセージの正確な言葉を教えてください。 –

+0

あなたのファイル 'contact.yml'の内容を私たちに見せてもらえますか? –

答えて

1

静的メソッドでJavaApplication22 $ Contactを参照することはできません。 「することができます、あなたのコードでは

Contact test = new Contact(); 


一言で、順番にあなたがそこにコンストラクタを呼び出すことができることを確認する必要があり

Contact contact = reader.read(Contact.class); 

呼び出すためにmainメソッドのContactクラスのオブジェクト


を回避するには2つの方法があります。

1静的

public static class Contact { 
    public String name; 
    public int age; 
} 

2)変更の連絡先)それはdoesnの「

+0

ありがとうございます!しかし、私の間違いはどこですか?なぜそれはそれのようなものですか?説明は? – user6056445

+0

@ user6056445私は答えを編集し、それがあなたを助けることを願っています。 –