2011-09-27 2 views
1

(я новичок в Java) ... Я хочу сохранить некоторые значения полей классов в HashMap, затем записать его в файл (путь передается как аргумент), а затем восстановить HashMap и выборку нужна информация. В моем конструкторе под названием Carte я получаю исключение, что файл не найден, так или иначе он находится в нужном месте, а сохраненные данные находятся в моем XML-файле. Любые идеи по этому вопросуFileNotFound Exception в 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" с ведущим косой чертой, указывающей абсолютное имя файла?

Смежные вопросы