嘿,我试图弄清楚如何获取保存/加载方法,以将它们生成的.txt文件放入zip文件中,以及如何设置文件的位置。到目前为止,这是我的代码:
保存方法-从当前数组列表中提取数据并将其写入文件
public void save(String path) {
ArrayList<String> lines = new ArrayList<String>();
for (int i = 0; i < this.listaKorisnika.size(); i++) {
User korisnik = this.listaKorisnika.get(i);
String ime = korisnik.getIme();
String prezime = korisnik.getPrezime();
LocalDate datum = korisnik.getDatumRodjenja();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd.MM.yyyy.");
String formiraniDatum = dtf.format(datum);
String jmbg = korisnik.getJmbg();
String zanimanjePoSk = korisnik.getZanimanjePoSkoli();
String gdeRadi = korisnik.getGdeRadi();
String bolesti = korisnik.getBolesti();
String alergije = korisnik.getAlergije();
String line = ime + ";" + prezime + ";" + formiraniDatum + ";" + jmbg + ";" + zanimanjePoSk + ";" + gdeRadi
+ ";" + bolesti + ";" + alergije;
lines.add(line);
}
try {
Files.write(Paths.get(path), lines, Charset.defaultCharset(), StandardOpenOption.CREATE,
StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE);
} catch (java.io.IOException e) {
System.out.println("Datoteka " + path + " nije pronađena.");
}
}
// this load method pulls data from the generated .txt file and puts them in memory.
public void load(String path) {
this.listaKorisnika = new ArrayList<User>();
List<String> lines;
try {
lines = Files.readAllLines(Paths.get(path), Charset.defaultCharset());
for (String line : lines) {
String[] attributes = line.split(";");
/*
* String line = ime +";"+ prezime +";"+ formiraniDatum +";"+ jmbg +";"+
* zanimanjePoSk +";"+ gdeRadi +";"+ bolesti +";"+ alergije;
*/
String ime = attributes[0];
String prezime = attributes[1];
String datum = attributes[2];
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd.MM.yyyy.");
LocalDate datumZaCuvanje = LocalDate.parse(datum, dtf);
String jmbg = attributes[3];
String zanimanjePoSkoli = attributes[4];
String gdeRadi = attributes[5];
String bolesti = attributes[6];
String Alergije = attributes[7];
User user = new User(ime, prezime, datumZaCuvanje, jmbg, zanimanjePoSkoli, gdeRadi, bolesti, Alergije);
this.listaKorisnika.add(user);
}
} catch (java.io.IOException e) {
System.out.println("Datoteka " + path + " nije pronađena.");
} catch (Exception e) {
System.out.println("Desila se greška pri parsiranju datuma.");
}
}