Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package javahelp;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- public class Javahelp {
- public static void main(String[] args) {
- Customer c1 = new Customer(0, "Smith", "smith@smith.com", "123456789", "details about smith");
- Customer c2 = new Customer(1, "Jons", "jones@jones.com", "234567891", "details about jones");
- Customer c3 = new Customer(2, "Williams", "williams@williams.com", "345678912", "details about williams");
- List<Customer> customerList = new ArrayList<>();
- customerList.add(c1);
- customerList.add(c2);
- customerList.add(c3);
- Customers customers = new Customers(customerList);
- System.out.println("Saving customers 0, 1 and 2 to file...");
- customers.saveCustomers();
- /* ----- */
- System.out.println("Reading customers 0, 1 and 2 from file...");
- customers.readCustomers();
- customers.printCustomers();
- Customer c4 = new Customer(3, "Taylor", "taylor@taylor.com", "456789123", "details about taylor");
- customers.addCustomer(c4);
- customers.saveCustomers();
- System.out.println("Saving customer 3 to file...");
- /* ----- */
- System.out.println("Reading customers 0, 1, 2 and 3 from file...");
- customers.readCustomers();
- customers.printCustomers();
- /* ----- */
- System.out.println("Removing customer with id = 1 from file...");
- customers.removeCustomerById(1);
- customers.saveCustomers();
- /* ----- */
- System.out.println("Reading customers 0, 2 and 3 from file...");
- customers.readCustomers();
- customers.printCustomers();
- }
- }
- class Customers {
- private final File file = new File("D:\\customers.txt");
- private List<Customer> customers;
- public Customers(List<Customer> customers) {
- this.customers = customers;
- }
- public void saveCustomers() {
- try {
- if (!file.exists()) {
- file.createNewFile();
- }
- FileOutputStream fos = new FileOutputStream(file);
- ObjectOutputStream oos = new ObjectOutputStream(fos);
- oos.writeObject(this.customers);
- oos.close();
- } catch (Exception e) {
- e.printStackTrace();
- System.out.println("Could not write object");
- }
- }
- public List<Customer> readCustomers() {
- try {
- FileInputStream fis = new FileInputStream(file);
- ObjectInputStream ois = new ObjectInputStream(fis);
- this.customers = (List<Customer>)ois.readObject();
- ois.close();
- } catch (Exception e) {
- e.printStackTrace();
- System.out.println("Could not read file");
- }
- return this.customers;
- }
- public void addCustomer(Customer customer) {
- this.customers = readCustomers();
- this.customers.add(customer);
- }
- public void removeCustomerById(int id) {
- this.customers = readCustomers();
- List<Customer> list = new ArrayList<>();
- for(Customer customer : this.customers) {
- if(customer.getId() != id) {
- list.add(customer);
- }
- }
- this.customers = list;
- }
- public void printCustomers() {
- for (Customer customer : this.customers) {
- customer.printCustomer();
- }
- }
- }
- class Customer implements Serializable {
- private static final long serialVersionUID = 7797875735963352544L;
- private int id;
- private String name;
- private String email;
- private String phone;
- private String details;
- public Customer(int id, String name, String email, String phone, String details) {
- super();
- this.id = id;
- this.name = name;
- this.email = email;
- this.phone = phone;
- this.details = details;
- }
- public int getId() {
- return this.id;
- }
- public void printCustomer() {
- System.out.println("");
- System.out.println("////////////////////");
- System.out.println("id: " + this.id);
- System.out.println("name: " + this.name);
- System.out.println("email: " + this.email);
- System.out.println("phone: " + this.phone);
- System.out.println("details: " + this.details);
- System.out.println("////////////////////");
- System.out.println("");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement