Cannot append file (or read now), why wont it work?
Does anyone know whats wrong?
------------------
The Main Class -->
------------------
import java.io.*;
import javax.swing.*;
public class form extends javax.swing.JFrame {
ObjectOutputStream Output;
ObjectInputStream Input;
File file = new File(System.getProperty("user.dir") + "/bookdata/book.txt");
/** Creates new form form */
public form() {
initComponents();
}
private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {
txtIsbn.setText("");
txtTitle.setText("");
txtAuthor.setText("");
txtPrice.setText("");
txtSupplierno.setText("");
txtLastorderdate.setText("");
}
private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {
bookRecord record;
try{
record = (bookRecord)Input.readObject();
txtIsbn.setText(record.getIsbn());
txtTitle.setText(record.getTitle());
txtAuthor.setText(record.getAuthor());
txtPrice.setText(Float.toString(record.getPrice()));
txtSupplierno.setText(Integer.toString(record.getSupplierno()));
txtLastorderdate.setText(Integer.toString(record.getLastorderdate()));
} catch(IOException c){
JOptionPane.showMessageDialog(this, "No More Records To Show!", "Error", JOptionPane.ERROR_MESSAGE);
} catch(ClassNotFoundException d){
JOptionPane.showMessageDialog(this, "Class Not Found Error!", "Error", JOptionPane.ERROR_MESSAGE);
} catch(NullPointerException e){
JOptionPane.showMessageDialog(this, "Null Pointer!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
private void btnFirstActionPerformed(java.awt.event.ActionEvent evt) {
bookRecord record;
System.out.println(file);
try{
Input = new ObjectInputStream(new FileInputStream(file));
record = (bookRecord)Input.readObject();
txtIsbn.setText(record.getIsbn());
txtTitle.setText(record.getTitle());
txtAuthor.setText(record.getAuthor());
txtPrice.setText(Float.toString(record.getPrice()));
txtSupplierno.setText(Integer.toString(record.getSupplierno()));
txtLastorderdate.setText(Integer.toString(record.getLastorderdate()));
} catch(IOException c){
JOptionPane.showMessageDialog(this, "No first record exists!", "Error", JOptionPane.ERROR_MESSAGE);
} catch(ClassNotFoundException d){
JOptionPane.showMessageDialog(this, "Class Not Found Error!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
bookRecord record;
System.out.println(file);
try{
record = new bookRecord(
txtIsbn.getText(),
txtTitle.getText(),
txtAuthor.getText(),
Float.parseFloat(txtPrice.getText()),
Integer.parseInt(txtSupplierno.getText()),
Integer.parseInt(txtLastorderdate.getText()));
Output.writeObject(record);
System.out.println(record);
} catch(IOException b){
JOptionPane.showMessageDialog(this, "Input/Output Error!", "Error", JOptionPane.ERROR_MESSAGE);
} catch(NumberFormatException d){
JOptionPane.showMessageDialog(this, "Textbox Format Error!", "Error", JOptionPane.ERROR_MESSAGE);
} catch(NullPointerException e){
JOptionPane.showMessageDialog(this, "Null Pointer!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
private void btnNewActionPerformed(java.awt.event.ActionEvent evt) {
try{
Output = new HeadlessObjectOutputStream(new FileOutputStream(file,true));
} catch(IOException a){
JOptionPane.showMessageDialog(this, "Input/Output Error!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
------------------
The bookRecord Class-->
------------------
import java.io.*;
import javax.swing.*;
public class bookRecord implements Serializable{
private String Isbn;
private String Title;
private String Author;
private float Price;
private int Supplierno;
private int Lastorderdate;
public bookRecord() {
this("","","",0,0,0);
}
public bookRecord(String i, String t, String a, float p, int s, int l) {
setIsbn(i);
setTitle(t);
setAuthor(a);
setPrice(p);
setSupplierno(s);
setLastorderdate(l);
}
public void setIsbn(String i){
Isbn = i;
}
public String getIsbn(){
return Isbn;
}
public void setTitle(String t){
Title = t;
}
public String getTitle(){
return Title;
}
public void setAuthor(String a){
Author = a;
}
public String getAuthor(){
return Author;
}
public void setPrice(float p){
Price = p;
}
public float getPrice(){
return Price;
}
public void setSupplierno(int s){
Supplierno = s;
}
public int getSupplierno(){
return Supplierno;
}
public void setLastorderdate(int l){
Lastorderdate = l;
}
public int getLastorderdate(){
return Lastorderdate;
}
}
class HeadlessObjectOutputStream extends ObjectOutputStream{
public HeadlessObjectOutputStream(OutputStream Output) throws IOException{
super(Output);
}
protected void writeStreamHeader() throws IOException{
}
}
Thanks, Very much, Antony...

