java - 将信息从文件输入列表
问题描述
我正在尝试使用文件将数据输入库模拟项目。
public void DataRecorder(int modoFile, ArrayList<?> genericList){
try{
File file = new File("");
if(modoFile == 0){
ArrayList<Person> person = new ArrayList<>();
person = (ArrayList<Person>) genericList;
file = new File("PeopleData.txt");
if(file.exists()){
//System.out.println("Arquivo ja existente");
}
else{
file.createNewFile();
}
FileWriter writer = new FileWriter(file);
BufferedWriter bufferWriter = new BufferedWriter(writer);
for(int i = 0; i<genericList.size(); i++){
if(person.get(i) instanceof Grad_student){
line = "Grad_student;";
Grad_student grad = new Grad_student();
grad = (Grad_student) person.get(i);
line+=grad.getPersonName()+";"+grad.getEmail()+";"+grad.getPassword()+";"+grad.getRa()+"\n;";
for(int j = 0; j<grad.getBookList().size(); j++){
line+=grad.getBookList().get(j).getTitle()+";";
line+=grad.getBookList().get(j).getPublisher().getPublisherName()+";";
}
bufferWriter.write(line);
}
else if(person.get(i) instanceof Postgrad_student){
line = "Postgrad_student;";
Postgrad_student pgrad = new Postgrad_student();
pgrad = (Postgrad_student) person.get(i);
line+=pgrad.getPersonName()+";"+pgrad.getEmail()+";"+pgrad.getPassword()+";"+pgrad.getCoo()+"\n;";
for(int j = 0; j<pgrad.getBookList().size(); j++){
line+=pgrad.getBookList().get(j).getTitle()+";";
line+=pgrad.getBookList().get(j).getPublisher().getPublisherName()+";";
}
bufferWriter.write(line);
}
else{
line = "Employee;";
Employee emp = new Employee();
emp = (Employee) person.get(i);
line+=emp.getPersonName()+";"+emp.getEmail()+";"+emp.getPassword()+"\n;";
bufferWriter.write(line);
}
}
bufferWriter.close();
writer.close();
}
}catch(IOException e){
System.out.println("Erro: "+e.toString());
}
}
我们有员工,grad_students 和 postgrad_students。研究生和研究生有自己的书单(他们从图书馆得到的书),而员工没有(可以添加和删除书籍)。我正在尝试读取仅获取他们的电子邮件和密码的内容,以便他们可以登录。但是我如何忽略额外的信息?此外,当他们登录时,他们可以访问不同的界面,例如,当员工登录时,他有自己的界面。他们应该在登录时使用哪个接口来定义他们应该有权访问的接口instanceof
。我如何将他们的类型归因于登录目的?
File file = new File("PeopleData.txt");
try {
if(file.exists()){
FileReader reader = new FileReader("PeopleData.txt");
BufferedReader bufferReader = new BufferedReader(reader);
while(true){
line = bufferReader.readLine();
if(line == null){
break;
}
}
}
}catch (FileNotFoundException ex) {
Logger.getLogger(Form_Main.class.getName()).log(Level.SEVERE, null, ex);
}
这就是我开始为读者构建的东西。提前致谢!
解决方案
推荐阅读
- javascript - 将 HTML、CSS 和 JS 转换为 React Native
- azure-active-directory - 有没有办法使用 PowerShell 更改 Azure Active Directory 应用程序的显示照片?
- python - ImportError:无法从“rasa_core.training”导入名称“在线”
- python - numpy数组的每个单元格是否可以从一个函数中迭代?
- saml - 使用 TCPdump 截断 SAMLResponse
- powershell - Powershell 制作 Dymo LabelWriter 450 标签
- haskell - 分而治之的问题算法
- elasticsearch - 当文档不存在时,Upsert 不会添加新的(ElasticSearch)
- python-3.x - 如何像python中的文件对象一样写入标准输出
- graalvm - GraalVM native-image 的 -H:... 选项的文档在哪里?