надеюсь, что это то, что вам нужно (это грязно, но ...):
Я предполагаю, что ваш текстовый файл ТОЧНО, как в примере ниже: (file -> text.txt)
# Patient (name, securityNum)
Patient1, 1234
Patient2, 456
# drugs (name, type,pric,kg,concent)
drug1, type1, 12,51,10
drug2, type2,22,42,56
# Physician (name, Idnum)
dr.aaaa, 1234
dr.bbbbb, 456
это главное (вы должны изменить путь к файлу text.txt):
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class MainTest {
public static void main(String[] args) throws Exception {
//set the path of your text file
File file = new File(MainTest.class.getClassLoader().getResource("text.txt").getFile());
Scanner myReader = new Scanner(file);
StringBuilder sb = new StringBuilder();
while (myReader.hasNextLine()) {
String tmp = myReader.nextLine();
sb.append(tmp + "\n");
}
myReader.close();
String[] type = sb.toString().split("#");
String patients = type[1];
String drugs = type[2];
String doctors = type[3];
patients = patients.replace("Patient (name, securityNum)\n","");
drugs = drugs.replace("drugs (name, type,pric,kg,concent)\n","");
doctors = doctors.replace("Physician (name, Idnum)\n","");
System.out.println("°°°°°°°°°°°°°°°°°°°°°°°°°°°");
populatePatientBean(patients).forEach( patient -> {
System.out.println("\nname " + patient.getName());
System.out.println("num " + patient.getSecurityNum());
});
populateDrugsBean(drugs).forEach( drugs_ -> {
System.out.println("\nname " + drugs_.getName());
System.out.println("type " + drugs_.getType());
System.out.println("concent " + drugs_.getConcent());
System.out.println("kg " + drugs_.getKg());
});
populatePhysicianBean(doctors).forEach( doctor -> {
System.out.println("\nname " + doctor.getName());
System.out.println("id " + doctor.getIdNum());
});
System.out.println("°°°°°°°°°°°°°°°°°°°°°°°°°°°");
}
public static List<Patient> populatePatientBean(String linePatient){
List<String> patientsTot = Arrays.asList(linePatient.split("\n"));
List<Patient> patientListReturn = new ArrayList<>();
patientsTot.forEach( line -> {
String[] arrayString = line.split(",");
Patient patient = new Patient(arrayString[0].trim(),arrayString[1].trim());
patientListReturn.add(patient);
});
return patientListReturn;
}
public static List<Drugs> populateDrugsBean(String lineDrugs){
List<String> drugsTot = Arrays.asList(lineDrugs.split("\n"));
List<Drugs> drugsListReturn = new ArrayList<>();
drugsTot.forEach( line -> {
String[] arrayString = line.split(",");
Drugs drugs = new Drugs(arrayString[0].trim(),arrayString[1].trim(),Float.valueOf(arrayString[2].trim()),Float.valueOf(arrayString[3].trim()),Float.valueOf(arrayString[4].trim()));
drugsListReturn.add(drugs);
});
return drugsListReturn;
}
public static List<Physician> populatePhysicianBean(String linePhysician){
List<String> physicianTot = Arrays.asList(linePhysician.split("\n"));
List<Physician> physicianListReturn = new ArrayList<>();
physicianTot.forEach( line -> {
String[] arrayString = line.split(",");
Physician physician = new Physician(arrayString[0].trim(),Long.valueOf(arrayString[1].trim()));
physicianListReturn.add(physician);
});
return physicianListReturn;
}}
ниже бобов ....
public class Patient {
private String name;
private String securityNum;
public Patient(String name, String securityNum) {
this.name = name;
this.securityNum = securityNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSecurityNum() {
return securityNum;
}
public void setSecurityNum(String securityNum) {
this.securityNum = securityNum;
}
}
public class Drugs {
private String name;
private String type;
private float kg;
private float concent;
private float pric;
public Drugs(String name, String type, float kg, float concent, float pric) {
this.name = name;
this.type = type;
this.kg = kg;
this.concent = concent;
this.pric = pric;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public float getKg() {
return kg;
}
public void setKg(float kg) {
this.kg = kg;
}
public float getConcent() {
return concent;
}
public void setConcent(float concent) {
this.concent = concent;
}
public float getPric() {
return pric;
}
public void setPric(float pric) {
this.pric = pric;
}
}
public class Physician {
private String name;
private long idNum;
public Physician(String name, long idNum) {
this.name = name;
this.idNum = idNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getIdNum() {
return idNum;
}
public void setIdNum(long idNum) {
this.idNum = idNum;
}
}