2011-09-27 17 views
1

(私はJavaで新しいです)...私はいくつかのクラスフィールドの値をHashMapに保存し、ファイルに書き込む(パスは引数として渡されます)。次にHashMapを復元してフェッチする必要な情報。 Carteというコンストラクタでは、ファイルが見つからないという例外がありますが、とにかく正しい場所にあり、保存されたデータはXMLファイルに保存されています。この時点上の任意のアイデアFileNotFound Javaの例外

例外が発生しました:java.io.FileNotFoundException:メッセージでユーザー/ステファン/デスクトップ/ lol.xml(そのようなファイルやディレクトリはありません)

// Salveaza toate obiectele create intr-un fisier 
    public void salveazaObiecteleCreate(String caleSpreFisier) { 

     HashMap table = new HashMap(); 

    table.put("Autorul", numelePrenumeleAutorului); 
    table.put("Denumirea cartii", denumireaCartii); 
    table.put ("Culoarea cartii",culoareaCartii); 
    table.put ("Genul cartii ",gen); 
    table.put ("Limba",limba); 
    table.put ("Numarul de copii",numarulDeCopii); 
    table.put ("Numarul de pagini",numarulDePagini); 
    table.put ("Pretul cartii",pretulCartii); 

    try { 

     File file = new File(caleSpreFisier); 
     FileOutputStream f = new FileOutputStream(file); 
     ObjectOutputStream s = new ObjectOutputStream(f);   
     s.writeObject(table); 
     s.close(); 

     } catch(Exception e){ 

      System.out.println("An exception has occured");  
    } 
} 


public Carte (String caleSpreFisier) { 


HashMap table = new HashMap(); 

File file = new File(caleSpreFisier); 


try { 

FileInputStream f = new FileInputStream(file); 
ObjectInputStream s = new ObjectInputStream(f); 
table = (HashMap)s.readObject();   
s.close(); 

} catch(Exception e){ 

      System.out.println("An exception has occured : "+e);  
    } 

for (Object key: table.keySet()) { 

    System.out.println(table.get(key)); 
} 

} 

// end of class 

} 

答えて

4

ルック:

例外が発生しました:java.io.FileNotFoundException:ユーザー/ステファン/デスクトップ/ lol.xml

それは"users/stefan/[...]"であることに注意してください。これは相対的なファイル名なので、現在の作業ディレクトリに対して解決されます。 "https://stackoverflow.com/users/stefan/desktop/lol.xml"の先頭に絶対ファイル名を示すスラッシュが表示されていないと確信していますか?