Диапазон в файле Java - PullRequest
       10

Диапазон в файле Java

0 голосов
/ 03 ноября 2018

У меня проблема. Итак, у меня есть текстовый файл, где есть некоторые данные. У меня есть класс PatientView с методом readInRange(PatientModel pm, Integer a, Integer b) и этот класс PatientModel с методами получения и одним закрытым методом writeToFile(), и у меня есть проблема с этим методом readInRange, потому что я не знаю, как выводить информацию между два числа (этот диапазон должен работать с полем mediacalCard). Итак, что я должен сделать, чтобы отобразить диапазон с помощью поля mediacalCard? Должен ли я сделать это mediacalCard массив? Пожалуйста, помогите мне.

Это мой код:

Класс PatientView:

public void readInRange(PatientModel pm, Integer a, Integer b) {
    try {
        String str;
        BufferedReader bufferedReader = new BufferedReader(new FileReader("test.txt"));
        for (int i = a; i < b+1; i++) {
            while ((str = bufferedReader.readLine()) != null) {
                System.out.println(str);
            }
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Класс PatientModel и его методы получения и метод записи в файл:

public Integer getId() {
    return Id;
}

public String getFirstName() {
    return firstName;
}

public String getLastName() {
    return lastName;
}

public String getPatronymic() {
    return patronymic;
}

public String getAddress() {
    return Address;
}

public Integer getNumberPhone() {
    return numberPhone;
}

public Integer getMedicalCard() {
    return medicalCard;
}

public String getDiagnose() {
    return diagnose;
}

private void writeToFile() {
    try(BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("test.txt", true))) {
        bufferedWriter.write(String.format("%1d, %10s, %10s, %10s, %10s, %10d, %10d, %10s", Id, firstName,
                lastName, patronymic, Address, numberPhone, medicalCard, diagnose));
        bufferedWriter.newLine();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

1 Ответ

0 голосов
/ 05 ноября 2018

Спасибо всем, кто пытался мне помочь. Вот как я решил эту проблему

Мой код:

public void readInRange(PatientModel pm, Integer low, Integer high) {
    String[] splitdata;
    String sixcol; Integer num=0;
    try {
        String str;
        BufferedReader bufferedReader = new BufferedReader(new FileReader("test.txt"));
        while ((str = bufferedReader.readLine()) != null) {
            splitdata = str.split("[,\t]");
            sixcol = splitdata[0];
            Integer aa = num.valueOf(sixcol);
            if(aa > low && aa < high) {
                System.out.println(str);
            }
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...