У меня есть код, который считывает блок id из трех строк из текстового файла, я хочу разбить эти строки в Строках и int и передать это конструктор из другого класса. Прямо сейчас этот класс запрашивает идентификационный номер и печатает все ниже знака #, вплоть до третьей строки каждого блока id. Я хочу, чтобы эти три строки в каждом идентификаторе анализировались как «имя», «возраст» и «работа» для класса Employee, чтобы создать объект id, например: Employee («Richard Smith», 22, «Инженер-электрик»). В файле всегда будет три строки для id, так как я могу «найти» эти строки и разделить их на строки и int?Как читать из файла и отправлять его конструктору в Java
#1000
Richard Smith
22
Electric engineer
#1001
Elliot Smith
23
Physicist
public class RdB
{
String b; //file name
RdB(String ename) {
b = ename;
}
//info about an employee
boolean showE (String id) {
int ch;
String code, info;
//open the file with the info
try (BufferedReader showERdr =
new BufferedReader (new FileReader(b)))
{
do {
//read characters until a '#' is found
ch = showERdr.read();
//check
if(ch == '#') {
code = showERdr.readLine();
if(id.compareTo(code) == 0) { //found employee
do {
info = showERdr.readLine();
if(info != null) {
System.out.println(info);
}
} while(((info != null) &&
(info.compareTo("") != 0)));
return true;
}
}
} while(ch != -1);
}
catch(IOException exc) {
System.out.println("File error!");
return false;
}
return false; //employee not found
}
//Access a registered employee
String getE() {
String id = "";
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Enter id number: ");
try{
id = br.readLine();
}
catch(IOException exc) {
System.out.println("Access error");
}
return id;
}
}
Edit: класс Employee
class Employee {
private String name, job;
private int age;
public Employee (String name, int age, String job) {
this.name = name;
this.age = age;
this.job = job;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getJob() {
return job;
}
}
как о запуске, написав класс 'Employee' –
@ScaryWombat«класса Employee { частного имя String, работу; частный возраст; \t общественный сотрудник (название строки, int age, строковое задание) { \t this.name = имя; \t this.age = age; \t this.job = job; } \t public String getName() { \t имя на назад; } \t \t public int getAge() { \t возраст возврата; } \t public String getJob() { \t возвращение работы; } \t } –
лучше обновить вопрос, а не добавить это в качестве комментария я думает –