-1
我試圖創建一個循環來顯示一個二進制文件的一切的第一個記錄,但它永遠只能顯示第一件事:序列化類只輸出
public class ItemRecordReport
{
static Scanner input; //allows for the scanner to be availble to other methods in the class
static ObjectOutputStream binOutFile;
static ObjectInputStream binInFile;
public static void main(String args[]) throws IOException, ClassNotFoundException
{
// Create a scanner
try
{
input = new Scanner(new File ("ItemRecord_text.txt")); //use scanner input
}
catch (FileNotFoundException fileNotFoundException)
{
System.err.println("Error opening file.");
System.exit(1);
}
//create an object output stream
try
{
binOutFile = new ObjectOutputStream (new FileOutputStream("ItemRecord_binary.txt"));
}
catch(FileNotFoundException fileNotFoundException)
{
System.err.println("Error opening file.");
System.exit(1);
}
//Create an Item Record Object
ItemRecord record = new ItemRecord("null", 0.0, 0, "null");
//Create a loop that will read from the file, and store it in an ItemRecord object
while (input.hasNext())
{
record.setItemNumber(input.next());
record.setCost(input.nextDouble());
record.setQuantity(input.nextInt());
record.setDescription(input.nextLine());
binOutFile.writeObject(record); //stores the file in binary
}
binOutFile.close(); //close the file
//Create an objectinputstrea
binInFile = new ObjectInputStream (new FileInputStream("ItemRecord_binary.txt"));
//create a loop that stores the binary file in an item record object
try
{
while (true)
{
//Reads an obejct from the binary file
record = (ItemRecord) binInFile.readObject(); //read the object into record
System.out.println(record.toString());
}
}
catch (EOFException endOfFileException)
{
return;
}
請格式化這個難以辨認的混亂。 – EJP