我目前有一个流编写器,它在其中从文本文件中读取诸如licenceClass
,firstName
,lastName
,address
,suburb
,demeritPoints
和licenceStatus
之类的对象并将其显示在输出。
如何使用这些对象将其写入文本文件?
这是我目前在阅读文本文件时所拥有的
Scanner scnr = new Scanner(System.in);
driver[] drivers = new driver[100];
int i = 0, j = 0;
try {
Scanner scan = new Scanner(new File("driver.txt"));
while (scan.hasNextLine()) {
String line = scan.nextLine();
String data[] = line.split(",");
String licenceNumber = data[0];
String licenceClass = data[1];
String firstName = data[2];
String lastName = data[3];
String address = data[4];
String suburb = data[5];
double demeritPoints = Double.parseDouble(data[6]);
String licenceStatus = data[8];
drivers[i] = new driver(licenceNumber, licenceClass, firstName, lastName, address, suburb,
demeritPoints, licenceStatus);
i++; j++;
}
} catch (FileNotFoundException e) {
System.out.println("File Not Found!");
}
您需要ObjectOutputStream
才能将对象写入文件。请检查https://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html以获取API文档。您可以在互联网上的ObjectOutputStream
上找到一些示例,例如http://tutorials.jenkov.com/java-io/objectoutputstream.html
作为提示,您只需要一个类似于以下内容的代码:
//Assuming class driver_19289670 implements Serializable
FileOutputStream fos = new FileOutputStream("drivers.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(drivers);
oos.close();