java保存加载方法保存位置

时间:2018-11-02 06:49:12

标签: java eclipse

嘿,我试图弄清楚如何获取保存/加载方法,以将它们生成的.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.");
    }
}

0 个答案:

没有答案