我试图将我的数据从我的程序保存到文件中,但它不会保存添加的书籍或学生。该程序将运行,但不会保存任何数据,也不会允许程序保存数据。Java库系统程序 - 保存程序
private static void addBook() {
// TODO Auto-generated method stub
int isbn, numbercopies;
String title, author, publisher;
System.out.println("\nEnter Title: ");
title = in.next();
System.out.println("\nEnter Author: ");
author = in.next();
System.out.println("\nEnter Publisher: ");
publisher = in.next();
System.out.println("\nEnter ISBN: ");
isbn = in.nextInt();
System.out.println("\nEnter Number of Copies:");
numbercopies = in.nextInt();
// creating book object
Book b = new Book(isbn, numbercopies, title, author, publisher);
// adding book to library via method
lib.addBook(b);
}
private static void addStudent(){
int sID, age;
String FirstName, LastName;
System.out.println("\nEnter Full Name: ");
LastName = in.nextLine();
FirstName = in.nextLine();
System.out.println("\nEnter Age: ");
age = in.nextInt();
System.out.println("\nEnter Student ID:");
sID = in.nextInt();
Students s = new Students(age, sID, FirstName, LastName);
// adding student to student library
slib.addStudent(s);
}
// method to save and quit
private static void saveAndQuit() {
// TODO Auto-generated method stub
System.out.println("Enter file name for Student: ");
fileName = in.next();
// stop the program from running with the boolean, through break
running = false;
// writing to file
FileOutputStream fos = null;
ObjectOutputStream out = null;
try {
fos = new FileOutputStream(fileName);
out = new ObjectOutputStream(fos);
out.writeObject(slib);
//closing the stream
fos.close();
out.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// getting the file input
private static void loadScript(String name) {
// TODO Auto-generated method stub
FileInputStream fis = null;
ObjectInputStream in = null;
File file = new File(name);
if (file.exists()) {
try {
fis = new FileInputStream(file);
in = new ObjectInputStream(fis);
lib = (Library) in.readObject();
fis.close();
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
System.out.println("\nThe file does not exist!");
}
}
通常在像Stackoverflow这样的论坛上,成员为编码器遇到的问题提供了解决方案。好帖子是发布你已经尝试过的以及你的错误在哪里。例如“删除一本书”的代码和哪部分似乎失败了。这将有助于会员尽快为您提供帮助。此外,成员还会将此类帖子看作未尝试过的人,并希望statckoverflow用户为其编写代码。发布您的删除或保存代码以及您尝试的内容。不是整个程序都很难提供帮助。成员需要看到你做了你的研究。 – Renier
对不起,我已编辑帖子 –
它是否陷入困境?它是否创建任何文件或文件是空白的? – Renier