• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wyjątek IOExcetion?

Object Storage Arubacloud
0 głosów
61 wizyt
pytanie zadane 5 grudnia 2017 w Rozwój zawodowy, nauka, praca przez LockeLamora Użytkownik (740 p.)
edycja 5 grudnia 2017 przez LockeLamora

Dlaczego mi tutaj wyskakuje IOException przy zapisie i przy odczytywaniu z pliku?

 


package Data;


import java.io.IOException;

public class App {
    public static void main(String[] args){
        FileManager fileManager = new FileManager();
        Staff staff = new Staff();

        staff.add(new Employee("Jan","Kowalski", 2010, 'M',3));
        staff.add(new Employee("Agnieszka","Cuber",2900,'K',3));
        staff.add(new Employee("Adam", "Nowak", 1100, 'M', 4));
        staff.add(new Employee("Sylwia", "Zych", 2100, 'K', 3));
        staff.add(new Employee("Beata", "Dudek", 1900, 'K', 4));

        fileManager.WriteToFile(staff);
        try {
            fileManager.readFromFile();
        }catch (IOException | ClassNotFoundException e){
            e.printStackTrace();
        }

        Employee[] e = staff.getEmployee();
        for(int i = 0;i<staff.getEmployeesNumber();i++){
            System.out.println(e[i]);
        }

    }
}

 

package Data;

import java.io.Serializable;

public class Employee implements Serializable{
    private String firstName;
    private String lastName;
    private int salary;
    private char gender;
    private int section;

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public int getSalary() {
        return salary;
    }

    public int getSection() {
        return section;
    }

    public char getGender() {
        return gender;
    }
    public Employee(){};
    public Employee(String firstName, String lastName, int salary, char gender, int section){
        this.firstName=firstName;
        this.lastName=lastName;
        this.salary=salary;
        this.gender=gender;
        this.section=section;
    }
    public String toString(){
        return firstName + " " + lastName + " Wynagrodzenie: " + salary + " Płeć: " + gender + " Dział: " + section;
    }
}
package Data;
import java.io.*;

public class FileManager  {

    private final String FILE_NAME = "staff.txt";
    public void WriteToFile(Staff p){
        try(
                FileOutputStream ios = new FileOutputStream(FILE_NAME);
                ObjectOutputStream out = new ObjectOutputStream(ios);
                ){
            out.writeObject(p);
        } catch(IOException e){
            System.out.println("Błąd podczas zapisu danych");
        }
    }

    public Employee readFromFile() throws FileNotFoundException, ClassNotFoundException, IOException {
        Employee p1 = null;
        try (
                FileInputStream fis = new FileInputStream(FILE_NAME);
                ObjectInputStream in = new ObjectInputStream(fis);
        ) {
            p1 = (Employee) in.readObject();
        } catch (FileNotFoundException e) {
            System.out.println("Nie znaleziono pliku");
        } catch (IOException e) {
            e.printStackTrace();
            // System.out.println("Błąd podczas wczytywania danych");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return p1;
    }

}

 
package Data;
public class Staff {
    private static final int MAX_EMPLOYEES = 100;
    private Employee[] employee;
    private int employeesNumber;

    public Employee[] getEmployee() {
        return employee;
    }

    public Staff() {
        employee = new Employee[MAX_EMPLOYEES];
        employeesNumber=0;
    }

    public void add(Employee e) {
        if (employeesNumber<MAX_EMPLOYEES){
            employee[employeesNumber]=e;
            employeesNumber++;
        }


    }
}

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 107 wizyt
pytanie zadane 6 maja 2020 w Java przez Schulz0123 Początkujący (330 p.)
0 głosów
1 odpowiedź 473 wizyt
pytanie zadane 2 maja 2019 w Java przez Metarinda Użytkownik (740 p.)
0 głosów
2 odpowiedzi 131 wizyt
pytanie zadane 21 października 2018 w Java przez MarcinZielony Użytkownik (710 p.)

92,568 zapytań

141,422 odpowiedzi

319,634 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...