2015-05-01 3 views
3

То, что я пытаюсь сделать, это сохранить информацию из текстовых полей в текстовый файл. Когда текстовый файл загружен, текстовые поля будут заполнены информацией. При сохранении файла я получаю эту ошибку через Exception e.printStackTrace(); БлагодаряСохранение текстовых полей в текстовый файл и загрузка содержимого текстового файла в текстовые поля (сериализованный) Java

enter image description here

private void savecustButtonActionPerformed(java.awt.event.ActionEvent evt) { 
 
    Customer customer = new Customer(); 
 
    try { 
 
     FileOutputStream fos = new FileOutputStream("Customers/" + custidTF.getText() + ".txt"); 
 
     ObjectOutputStream oos = new ObjectOutputStream(fos); 
 

 
     customer.setPersonName((custnameTF.getText())); 
 
     customer.setPersonSurname((custsurnameTF.getText())); 
 
     customer.setPersonID((custidTF.getText())); 
 

 
     oos.writeObject(customer); 
 
     oos.close(); 
 
    } catch (IOException e) { 
 

 
    } 
 

 
    dispose();

private void loadCustomerActionPerformed(java.awt.event.ActionEvent evt) { 
 
    Customer customerfile = null; 
 

 
    try { 
 

 
    final JFileChooser chooser = new JFileChooser("Customers/"); 
 
    int chooserOption = chooser.showOpenDialog(null); 
 
    chooserOption = JFileChooser.APPROVE_OPTION; 
 

 
    File file = new File(chooser.getSelectedFile().getAbsolutePath()); 
 
    ObjectInputStream in = new ObjectInputStream(
 
     new FileInputStream(file) 
 
    ); 
 

 
    customerfile = (Customer) in .readObject(); in .close(); 
 

 
    } catch (IOException ex) { 
 
    System.out.println("Error loading file."); 
 
    } catch (ClassNotFoundException ex) { 
 
    System.out.println("Invalid class in loaded file."); 
 
    } 
 

 
}

+0

Вы можете получить дополнительную информацию от 'IOException ex'? –

+0

Нет только «Ошибка загрузки файла» –

+0

. Вы можете получить дополнительную информацию из ['IOException'] (https://docs.oracle.com/javase/7/docs/api/java/io/IOException.html), например с 'getMessage' ... –

ответ

1

Я думаю, что ваш класс Клиент не реализует Serializable интерфейс. Добавьте implements Serializable к открытию класса.

+0

Я редактировал мой класс с помощью инструментов Serializable и при сохранении файла я не получаю ошибок сейчас :), но файл все равно не загружается. Спасибо –

+0

Что произойдет, если вы попытаетесь прочитать текстовые поля клиентского файла с данными? –

+0

Что вы понимаете, прочитав данные из текстовых полей клиентских файлов клиента? Текст wrtten в текстовых файлах сохраняется в текстовом файле, чем при загрузке, что дает ошибку Excpetion. Я хочу загрузить объект. –

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