Commit 8a875f09 by Patryk Czarnik

zapisywaie pliku CSV i przykład Podwyzka

parent 92a9cb1d
......@@ -2,6 +2,7 @@ package emps.v2_obiektowo;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
......@@ -36,4 +37,27 @@ public class ObslugaCSV {
return emps;
}
public static void zapisz(List<Employee> lista, File plik) {
try(PrintWriter out = new PrintWriter(plik)) {
out.println(
"employee_id;first_name;last_name;job_title;salary;hire_date;department_name;address;postal_code;city;country");
for (Employee emp : lista) {
out.printf("%d;%s;%s;%s;%d;%s;%s;%s;%s;%s;%s\n", emp.getEmployeeId(), emp.getFirstName(),
emp.getLastName(), emp.getJobTitle(), emp.getSalary(), emp.getHireDate(),
emp.getDepartmentName(), emp.getAddress(), emp.getPostalCode(), emp.getCity(),
emp.getCountry());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void zapisz(List<Employee> lista, String sciezka) {
zapisz(lista, new File(sciezka));
}
public static void zapisz(List<Employee> lista) {
zapisz(lista, "emps.csv");
}
}
package emps.v2_obiektowo;
import java.util.List;
import javax.swing.JOptionPane;
public class Podwyzka {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
String szukanyJob = JOptionPane.showInputDialog("Podaj nazwę stanowiska");
int podwyzka = Integer.parseInt(JOptionPane.showInputDialog("Podaj kwotę podwyżki"));
int ile = 0;
for(Employee emp : emps) {
if(emp.getJobTitle().equalsIgnoreCase(szukanyJob)) {
emp.setSalary(emp.getSalary() + podwyzka);
ile++;
}
}
ObslugaCSV.zapisz(emps, "zmieniony.csv");
JOptionPane.showMessageDialog(null, "Zmieniono " + ile + " rekordów");
}
}
package emps.v2_obiektowo;
import java.io.File;
import java.util.List;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
public class PodwyzkaInteraktywna {
public static void main(String[] args) {
JFileChooser chooser = new JFileChooser(".");
int coSieStalo = chooser.showOpenDialog(null);
if(coSieStalo != JFileChooser.APPROVE_OPTION) {
// jeśli nie wybrano pliku
return;
}
File plikWejsciowy = chooser.getSelectedFile();
List<Employee> emps = ObslugaCSV.wczytaj(plikWejsciowy);
String[] jobs = emps.stream()
.map(Employee::getJobTitle)
.distinct()
.sorted()
.toArray(String[]::new);
String szukanyJob = (String)JOptionPane.showInputDialog(null, "Wybierz nazwę stanowiska", "Wybierz",
JOptionPane.QUESTION_MESSAGE, null, jobs, null);
int podwyzka = Integer.parseInt(JOptionPane.showInputDialog("Podaj kwotę podwyżki"));
int ile = 0;
for(Employee emp : emps) {
if(emp.getJobTitle().equals(szukanyJob)) {
emp.setSalary(emp.getSalary() + podwyzka);
ile++;
}
}
chooser.showSaveDialog(null);
if(coSieStalo != JFileChooser.APPROVE_OPTION) {
return;
}
File plikWyjsciowy = chooser.getSelectedFile();
ObslugaCSV.zapisz(emps, plikWyjsciowy);
JOptionPane.showMessageDialog(null, "Zmieniono " + ile + " rekordów");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment