我仍然是Java的新手,我正在为一个项目上课,我不确定如何编写我的程序来获取userInput(fileName)并从中创建一个新对象。我的指示是编写一个程序,该程序从用户读取文件名,然后从该文件中读取数据,创建对象(键入StudentInvoice)并将它们存储在ArrayList中。
这就是我现在所处的位置。
public class StudentInvoiceListApp {
public static void main (String[] args) {
Scanner userInput = new Scanner(System.in);
String fileName;
System.out.println("Enter file name: ");
fileName = userInput.nextLine();
ArrayList<StudentInvoice> invoiceList = new ArrayList<StudentInvoice>();
invoiceList.add(new StudentInvoice());
System.out.print(invoiceList + "\n");
}
答案 0 :(得分:0)
您可以尝试为流中的序列化/反序列化对象编写一个类(请参阅this文章)。
答案 1 :(得分:0)
好吧,正如罗伯特所说,关于存储在文件中的数据格式的信息不足。假设文件的每一行都包含学生的所有信息。您的程序将包括按行读取文件并为每行创建一个StudentInvoice。像这样:
public static void main(String args[]) throws Exception {
Scanner userInput = new Scanner(System.in);
List<StudentInvoice> studentInvoices = new ArrayList<StudentInvoice>();
String line, filename;
do {
System.out.println("Enter data file: ");
filename = userInput.nextLine();
} while (filename == null);
BufferedReader br = new BufferedReader(new FileReader(filename));
while ( (line = br.readLine()) != null) {
studentInvoices.add(new StudentInvoice(line));
}
System.out.println("Total student invoices: " + studentInvoices.size());
}