| | |
Java Random Access File... Help
![]() |
•
•
Join Date: Jun 2008
Posts: 3
Reputation:
Solved Threads: 0
Hey... I present myself.. Youssef, 17 years old and i'm currently on my second year of the IB Program ... Computer IB HL i took. As some of you might know our IA = Internal Assessement is a Java Database and now mine is due wednesday... [PART I] and i need your guys help... I have a skeleton... you create a random acces file, and open it in a notepad.. then u run my program.. Team (only team needs to work for now) you can ADD a team ...click next next.. then you can click View team... (yet there there is a problem it only displays the first record tehn displays the message "No More Records" knowing that i have inputed more records iny my Add.. I would be eternally grateful if some one could help me by tonight plzzzzzzzzzz ..... so i could show my teacher tomorow.. If someone could fix me the View (READ RANDOM FILE) error.... and then have me a script thats working for EDIT & DELETE... cuz they're not in the book and i have no clue how to open then delete my record
... Delete is due tomorow, and the rest wednesday... i know all this for tonight is alot but some of few are experts and could do this in a 20-30 min ... so if some one could save me by correcting my VIEW, and writing me a script for EDIT/DELETE that would really help... if you want just give me an example of delete.. and ill try adapting it with my variables... anw... plz guyz help would be nice... Here are my codes..
if anyone could help me ... plzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
you peeps are my last chance... thankkkkksss (l)
... Delete is due tomorow, and the rest wednesday... i know all this for tonight is alot but some of few are experts and could do this in a 20-30 min ... so if some one could save me by correcting my VIEW, and writing me a script for EDIT/DELETE that would really help... if you want just give me an example of delete.. and ill try adapting it with my variables... anw... plz guyz help would be nice... Here are my codes.. Java Syntax (Toggle Plain Text)
//BASKETBALL SKELETON// package Basketball; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Basketball extends JFrame { private final Color colorValues[] = { Color.black, Color.blue, Color.red, Color.green }; private JRadioButtonMenuItem colorItems[], fonts[]; private JCheckBoxMenuItem styleItems[]; private JLabel displayLabel; private ButtonGroup fontGroup, colorGroup; private int style; // set up GUI public Basketball() { super( "BBGS SOFTWARE" ); // set up team menu and its menu items JMenu teamMenu = new JMenu( "Team" ); // set up Add team menu item JMenuItem addTeam = new JMenuItem( "Add" ); teamMenu.add( addTeam ); addTeam.addActionListener( new ActionListener() { // anonymous inner class public void actionPerformed( ActionEvent event ) { new WriteRF(); } } ); JMenuItem editTeam = new JMenuItem( "Edit Team" ); teamMenu.add( editTeam ); editTeam.addActionListener( new ActionListener() { // anonymous inner class // display message dialog when user selects About... public void actionPerformed( ActionEvent event ) { } } // end anonymous inner class ); // end call to addActionListener JMenuItem deleteTeam = new JMenuItem( "Delete Team" ); teamMenu.add( deleteTeam ); deleteTeam.addActionListener( new ActionListener() { // anonymous inner class // display message dialog when user selects About... public void actionPerformed( ActionEvent event ) { } } // end anonymous inner class ); // end call to addActionListener // set up List team menu item JMenuItem listTeam = new JMenuItem( "View Teams" ); teamMenu.add( listTeam ); listTeam.addActionListener( new ActionListener() { // anonymous inner class // display message dialog when user selects About... public void actionPerformed( ActionEvent event ) { new ReadRF(); } } // end anonymous inner class ); // end call to addActionListener // create menu bar and attach it to Basketball window JMenuBar bar = new JMenuBar(); setJMenuBar( bar ); bar.add( teamMenu ); // set up teamship menu and its menu items JMenu teamshipMenu = new JMenu( "Game" ); // set up Add team menu item JMenuItem addGame = new JMenuItem( "Add Game" ); teamshipMenu.add( addGame ); addGame.addActionListener( new ActionListener() { // anonymous inner class // display message dialog when user selects About... public void actionPerformed( ActionEvent event ) { JOptionPane.showMessageDialog( Basketball.this, "Add a Game", "Adding", JOptionPane.PLAIN_MESSAGE ); } } ); JMenuItem editGame = new JMenuItem( "Edit/Delete Game" ); teamshipMenu.add( editGame ); editGame.addActionListener( new ActionListener() { // anonymous inner class // display message dialog when user selects About... public void actionPerformed( ActionEvent event ) { JOptionPane.showMessageDialog( Basketball.this, "Edit a Game", "Editing", JOptionPane.PLAIN_MESSAGE ); } } // end anonymous inner class ); // end call to addActionListener // set up List team menu item JMenuItem listGame = new JMenuItem( "List Games" ); teamshipMenu.add( listGame ); listGame.addActionListener( new ActionListener() { // anonymous inner class // display message dialog when user selects About... public void actionPerformed( ActionEvent event ) { JOptionPane.showMessageDialog( Basketball.this, "Lisiting Games", "View", JOptionPane.PLAIN_MESSAGE ); } } // end anonymous inner class ); // end call to addActionListener // create menu bar and attach it to Basketball window bar.add( teamshipMenu ); // set up Exit menu item JMenu exitMenu = new JMenu( "Exit" ); exitMenu.addActionListener( new ActionListener() { // anonymous inner class // terminate application when user clicks exitItem public void actionPerformed( ActionEvent event ) { System.exit( 0 ); } } // end anonymous inner class ); // end call to addActionListener bar.add( exitMenu ); displayLabel = new JLabel( "Welcome", SwingConstants.CENTER ); displayLabel.setForeground( colorValues[ 0 ] ); displayLabel.setFont( new Font( "Serif", Font.PLAIN, 52 ) ); //getContentPane().setBackground( Color.CYAN ); getContentPane().add( displayLabel, BorderLayout.PAGE_END ); setSize(800, 600 ); setLocation(200, 240); setVisible( true ); } public static void main( String args[] ) { Basketball application = new Basketball(); application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } } // end class Basketballs
Java Syntax (Toggle Plain Text)
//WRITE RANDOM FILE package Basketball; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class WriteRF extends JFrame { private RandomAccessFile output; private GUI userInterface; private JButton enterButton, openButton; private static final int NUMBER_RECORDS = 100; // set up GUI public WriteRF() { super( "Write to random access file" ); // create instance of reusable user interface BankUI userInterface = new GUI( 2 ); // four textfields getContentPane().add( userInterface, BorderLayout.CENTER ); openButton = userInterface.getDoTask1Button(); openButton.setText( "Get File..." ); // register listener to call openFile when button pressed openButton.addActionListener( // anonymous inner class to handle openButton event new ActionListener() { // allow user to select file to open public void actionPerformed( ActionEvent event ) { openFile(); } } // end anonymous inner class ); // end call to addActionListener // register window listener for window closing event addWindowListener( // anonymous inner class to handle windowClosing event new WindowAdapter() { // add record in GUI, then close file public void windowClosing( WindowEvent event ) { if ( output != null ) addRecord(); closeFile(); } } // end anonymous inner class ); // end call to addWindowListener // get reference to generic task button doTask2 in BankUI enterButton = userInterface.getDoTask2Button(); enterButton.setText( "Next" ); enterButton.setEnabled( false ); // register listener to call addRecord when button pressed enterButton.addActionListener( // anonymous inner class to handle enterButton event new ActionListener() { // add record to file public void actionPerformed( ActionEvent event ) { addRecord(); } } // end anonymous inner class ); // end call to addActionListener setSize( 300, 150 ); setVisible( true ); } // enable user to choose file to open private void openFile() { // display file dialog so user can select file JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileSelectionMode( JFileChooser.FILES_ONLY ); int result = fileChooser.showOpenDialog( this ); // if user clicked Cancel button on dialog, return if ( result == JFileChooser.CANCEL_OPTION ) return; // obtain selected file File fileName = fileChooser.getSelectedFile(); // display error if file name invalid if ( fileName == null || fileName.getName().equals( "" ) ) JOptionPane.showMessageDialog( this, "Invalid File Name", "Invalid File Name", JOptionPane.ERROR_MESSAGE ); else { // open file try { output = new RandomAccessFile( fileName, "rw" ); enterButton.setEnabled( true ); openButton.setEnabled( false ); } // process exception while opening file catch ( IOException ioException ) { JOptionPane.showMessageDialog( this, "File does not exist", "Invalid File Name", JOptionPane.ERROR_MESSAGE ); } } // end else } // end method openFile // close file and terminate application private void closeFile() { // close file and exit try { if ( output != null ) output.close(); System.exit( 0 ); } // process exception while closing file catch( IOException ioException ) { JOptionPane.showMessageDialog( this, "Error closing file", "Error", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } } // end method closeFile // add one record to file private void addRecord() { int teamidnumber = 0; String fields[] = userInterface.getFieldValues(); RaRecord record = new RaRecord(); // ensure account field has a value if ( ! fields[ GUI.TEAMID ].equals( "" ) ) { // output values to file try { teamidnumber = Integer.parseInt( fields[ GUI.TEAMID ] ); if ( teamidnumber > 0 && teamidnumber <= NUMBER_RECORDS ) { record.setTeamid( teamidnumber ); record.setTeam( fields[ GUI.TEAM ] ); output.seek( ( teamidnumber - 1 ) * RaRecord.SIZE ); record.write( output ); } else { JOptionPane.showMessageDialog( this, "Team Id must be between 0 and 100", "ID number Invalid", JOptionPane.ERROR_MESSAGE ); } userInterface.clearFields(); // clear TextFields } // end try // process improper account number or balance format catch ( NumberFormatException formatException ) { JOptionPane.showMessageDialog( this, "Invalid ID", "Invalid Number Format", JOptionPane.ERROR_MESSAGE ); } // process exceptions while writing to file catch ( IOException ioException ) { JOptionPane.showMessageDialog( this, "Error writing to the file", "IO Exception", JOptionPane.ERROR_MESSAGE ); closeFile(); } } } } // END WRITE RANDOM FILE
Java Syntax (Toggle Plain Text)
//READ RANDOM FILE// package Basketball; import java.awt.*; import java.awt.event.*; import java.io.*; import java.text.DecimalFormat; import javax.swing.*; public class ReadRF extends JFrame { private GUI userInterface; private RandomAccessFile input; private JButton nextButton, openButton; // set up GUI public ReadRF() { super( "View Team List" ); // create reusable user interface instance userInterface = new GUI( 2 ); getContentPane().add( userInterface ); // configure generic doTask1 button from BankUI openButton = userInterface.getDoTask1Button(); openButton.setText( "View Files for Listing..." ); // register listener to call openFile when button pressed openButton.addActionListener( // anonymous inner class to handle openButton event new ActionListener() { // enable user to select file to open public void actionPerformed( ActionEvent event ) { openFile(); } } // end anonymous inner class ); // end call to addActionListener // configure generic doTask2 button from BankUI nextButton = userInterface.getDoTask2Button(); nextButton.setText( "Next" ); nextButton.setEnabled( false ); // register listener to call readRecord when button pressed nextButton.addActionListener( // anonymous inner class to handle nextButton event new ActionListener() { // read a record when user clicks nextButton public void actionPerformed( ActionEvent event ) { readRecord(); } } // end anonymous inner class ); // end call to addActionListener // register listener for window closing event addWindowListener( // anonymous inner class to handle windowClosing event new WindowAdapter() { // close file and terminate application public void windowClosing( WindowEvent event ) { closeFile(); } } // end anonymous inner class ); // end call to addWindowListener setSize( 300, 150 ); setVisible( true ); } // end constructor // enable user to select file to open private void openFile() { // display file dialog so user can select file JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileSelectionMode( JFileChooser.FILES_ONLY ); int result = fileChooser.showOpenDialog( this ); // if user clicked Cancel button on dialog, return if ( result == JFileChooser.CANCEL_OPTION ) return; // obtain selected file File fileName = fileChooser.getSelectedFile(); // display error is file name invalid if ( fileName == null || fileName.getName().equals( "" ) ) JOptionPane.showMessageDialog( this, "Invalid File Name", "Invalid File Name", JOptionPane.ERROR_MESSAGE ); else { // open file try { input = new RandomAccessFile( fileName, "r" ); nextButton.setEnabled( true ); openButton.setEnabled( false ); } // catch exception while opening file catch ( IOException ioException ) { JOptionPane.showMessageDialog( this, "File does not exist", "Invalid File Name", JOptionPane.ERROR_MESSAGE ); } } // end else } // end method openFile // read one record private void readRecord() { RaRecord record = new RaRecord(); // read a record and display try { do { record.read( input ); } while ( record.getTeamid() == 0 ); String values[] = { String.valueOf( record.getTeamid() ), record.getTeam()}; userInterface.setFieldValues( values ); } // close file when end-of-file reached catch ( EOFException eofException ) { JOptionPane.showMessageDialog( this, "No more records", "End-of-file reached", JOptionPane.INFORMATION_MESSAGE ); closeFile(); } // process exceptions from problem with file catch ( IOException ioException ) { JOptionPane.showMessageDialog( this, "Error Reading File", "Error", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } } // end method readRecord // close file and terminate application private void closeFile() { // close file and exit try { if ( input != null ) input.close(); System.exit( 0 ); } // process exception closing file catch( IOException ioException ) { JOptionPane.showMessageDialog( this, "Error closing file", "Error", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); } } // end method closeFile } //END READ RANDOM FILE
Java Syntax (Toggle Plain Text)
//GUI// package Basketball; import java.awt.*; import javax.swing.*; public class GUI extends JPanel { // label text for GUI protected final static String names[] = { "Team ID", "Team" }; // GUI components; protected for future subclass access protected JLabel labels[]; protected JTextField fields[]; protected JButton doTask1, doTask2; protected JPanel innerPanelCenter, innerPanelSouth; protected int size; // number of text fields in GUI // constants representing text fields in GUI public static final int TEAMID = 0, TEAM = 1; public GUI( int mySize ) { size = mySize; labels = new JLabel[ size ]; fields = new JTextField[ size ]; // create labels for ( int count = 0; count < labels.length; count++ ) labels[ count ] = new JLabel( names[ count ] ); // create text fields for ( int count = 0; count < fields.length; count++ ) fields[ count ] = new JTextField(); // create panel to lay out labels and fields innerPanelCenter = new JPanel(); innerPanelCenter.setLayout( new GridLayout( size, 2 ) ); // attach labels and fields to innerPanelCenter for ( int count = 0; count < size; count++ ) { innerPanelCenter.add( labels[ count ] ); innerPanelCenter.add( fields[ count ] ); } // create generic buttons; no labels or event handlers doTask1 = new JButton(); doTask2 = new JButton(); // create panel to lay out buttons and attach buttons innerPanelSouth = new JPanel(); innerPanelSouth.add( doTask1 ); innerPanelSouth.add( doTask2 ); // set layout of this container and attach panels to it setLayout( new BorderLayout() ); add( innerPanelCenter, BorderLayout.CENTER ); add( innerPanelSouth, BorderLayout.SOUTH ); validate(); // validate layout } // end constructor // return reference to generic task button doTask1 public JButton getDoTask1Button() { return doTask1; } // return reference to generic task button doTask2 public JButton getDoTask2Button() { return doTask2; } // return reference to fields array of JTextFields public JTextField[] getFields() { return fields; } // clear content of text fields public void clearFields() { for ( int count = 0; count < size; count++ ) fields[ count ].setText( "" ); } // set text field values; throw IllegalArgumentException if // incorrect number of Strings in argument public void setFieldValues( String strings[] ) throws IllegalArgumentException { if ( strings.length != size ) throw new IllegalArgumentException( "There must be " + size + " Strings in the array" ); for ( int count = 0; count < size; count++ ) fields[ count ].setText( strings[ count ] ); } // get array of Strings with current text field contents public String[] getFieldValues() { String values[] = new String[ size ]; for ( int count = 0; count < size; count++ ) values[ count ] = fields[ count ].getText(); return values; } } // END OF GUI
Java Syntax (Toggle Plain Text)
//RECORD package Basketball; import java.io.Serializable; public class TeamRecord implements Serializable { private int teamid; private String team; // no-argument constructor calls other constructor with default values public TeamRecord() { this( 0, "" ); } // initialize a record public TeamRecord( int id, String tm ) { setTeamid( id ); setTeam( tm ); } // set id number public void setTeamid( int id ) { teamid = id; } // get id number public int getTeamid() { return teamid; } // set team public void setTeam( String tm ) { team = tm; } // get first name public String getTeam() { return team; } } // eND OF RECORD
Java Syntax (Toggle Plain Text)
//RANDOM ACCESS RECORD package Basketball; import java.io.*; public class RaRecord extends TeamRecord { public static final int SIZE = 72; // no-argument constructor calls other constructor with default values public RaRecord() { this( 0, "" ); } public RaRecord( int teamid, String team ) { super( teamid, team ); } // read a record from specified RandomAccessFile public void read( RandomAccessFile file ) throws IOException { setTeamid( file.readInt() ); setTeam( readName( file ) ); } private String readName( RandomAccessFile file ) throws IOException { char name[] = new char[ 15 ], temp; for ( int count = 0; count < name.length; count++ ) { temp = file.readChar(); name[ count ] = temp; } return new String( name ).replace( '\0', ' ' ); } // write a record to specified RandomAccessFile public void write( RandomAccessFile file ) throws IOException { file.writeInt( getTeamid() ); writeName( file, getTeam() ); } private void writeName( RandomAccessFile file, String name ) throws IOException { StringBuffer buffer = null; if ( name != null ) buffer = new StringBuffer( name ); else buffer = new StringBuffer( 15 ); buffer.setLength( 15 ); file.writeChars( buffer.toString() ); } } // END OF RANDOM ACCES RECORD//
if anyone could help me ... plzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

you peeps are my last chance... thankkkkksss (l) Last edited by peter_budo; Jun 4th, 2008 at 4:20 am. Reason: Keep It Organized - please use [code] tags
![]() |
Similar Threads
- File processing, Random-access Files (Java)
- How to output random line from a file (Java)
- program (Java)
- Random undeleteables (Viruses, Spyware and other Nasties)
- Freeprodtb!! (Viruses, Spyware and other Nasties)
- Intermitent access to google and other sites (Viruses, Spyware and other Nasties)
- Can't get rid of random pop ups (Viruses, Spyware and other Nasties)
Other Threads in the Java Forum
- Previous Thread: Need suggestions: Update Checking, Score keeping, and Submitting scores online.
- Next Thread: need help in gridBagLayout
| Thread Tools | Search this Thread |
-xlint actionlistener android api applet application array arrays automation bi binary blackberry block bluetooth character class client code compile compiler component consumer database desktop developmenthelp eclipse error fractal freeze ftp functiontesting game gameprogramming givemetehcodez graphics gui health html ide image integer j2me j2seprojects java javac javaee javaprojects jetbrains jni jpanel jtable julia learningresources lego linked linux list mac main map method methods mobile myregfun netbeans notdisplaying number online printf problem program project qt recursion researchinmotion rotatetext rsa scanner screen server set singleton sms sort spamblocker sql string swing system textfields threads time title tree tutorial-sample update variablebinding windows working xor





