/**
* Java. Level 1. Lesson 5. Example of homework
*
* @author Sergey Iryupin
* @version dated May 25, 2018
* @link https://github.com/ || null
*/
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
import java.util.ArrayList;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.nio.charset.StandardCharsets;
class HW5Lesson {
public static void main(String[] args) {
// define and fill array of employees
Employee[] employees = {
new Employee("Ivanov Ivan", "Engineer",
"iivanov@mail.com", "2312312", 30000, 30),
new Employee("Petrov Petr", "Lead Engineer",
"ppenrov@mail.com", "2365113", 42000, 39),
new Employee("Vasilev Vasil", "Head of Department",
"vvasilev@mail.com", "2365001", 55000, 55),
new Employee("Sidorov Sidor", "Assistant",
"ssidorov@mail.com", "2365223", 25000, 42),
new Employee("Sergeev Sergey", "Trainee",
"ssergeev@mail.com", "2365113", 15000, 25)
};
// show all employees older than 40 year
for (Employee employee : employees)
if (employee.getAge() > 40)
System.out.println(employee);
// write array to the CSV file
try (FileWriter file = new FileWriter("employee.txt")) {
for (Employee employee : employees)
file.write(employee.getDataInCSV() + "\n");
} catch (IOException ex) {
ex.printStackTrace();
}
// read all lines from file
List lines = new ArrayList();
try {
lines = Files.readAllLines(Paths.get("employee.txt"),
StandardCharsets.UTF_8);
} catch (IOException ex) {
ex.printStackTrace();
}
// parsing CSV lines
int index = 0;
employees = new Employee[lines.size()];
for (String line : lines) {
String[] field = line.split(",");
employees[index] = new Employee(
field[0], field[1], field[2], field[3],
Integer.parseInt(field[4]), Integer.parseInt(field[5]));
index++;
}
}
}
/**
* Class Employee
*/
class Employee {
private String name;
private String position;
private String email;
private String phone;
private int salary;
private int age;
public Employee(String name, String position, String email, String phone,
int salary, int age) {
this.name = name;
this.position = position;
this.email = email;
this.phone = phone;
this.salary = salary;
this.age = age;
}
public int getAge() { // getter for age
return age;
}
public String getDataInCSV() {
return name + "," + position + "," + email + "," + phone + "," +
salary + "," + age;
}
@Override
public String toString() { // overrided method toString()
return (name +
"\n| Position: " + position +
"\n| Email: " + email +
"\n| Phone: " + phone +
"\n| Salary: " + salary +
"\n| Age: " + age);
}
}