Object reading and writing

i have to read a very large files that consist of header(5000 bytes)main file(10,000 bytes), footer(4000 bytes) this is a binary file.The current code is in c++, the logic implemented is like as:- there are three classes and the data structure defined for these classes for these three classes is same as the information stored in binary.Header data structure is 5000 bytes footer is 4000 bytes and then main.So when ever the large file is read the process invokes read method and pass the object of header and a pointer for reading 5000 bytes.As structure is same all the values read are assigned accordingly to header in single shot.Here is example
class header
char name array[2000];
char Address array[2000];
in reaqd methods i pass object of header. binary file name and a pointer to read first 4000 bytes
so it aitoamtically assign first 2000 to name rest to address
same funtionality i have to do in java.I am not able to do it.
is it posilbe ot i have to read byte array and then fire setmethods for each data to do this or can i simulate this c++ funtionality in java .
pl help

there are
three classes and the data structure defined for these
classes for these three classes is same as the
information stored in binary.So, if I understand what you want to do, you need to read C++ binary data into a Java class, but don't want to go through the process of translating that data and calling individual getters and setters?
First thing: be aware that the byte order of C++ data will differ, depending on the machine that wrote the file. If you're reading files from different machines, you may not get back what you expect (which is one reason that XML exists, to store everything in text rather than binary).
Second: do you have a Java class that exactly mimics the C++ class? You need to be aware of field size and type (eg, a 16-bit C++ int corresponds to a Java short), and recognize that the same types may have different sizes depending on the C++ implementation.
If you have considered these two points, then look at java.lang.reflect.
1) Define a static array containing the names of the fields in your object, in the order they appear in the data. This is necessary because Class.getFields() does not guarantee order of the fields returned.
2) Call getClass() on the passed object.
3) For every field in your list from step 1, call getField() on the Class object that you got from step 2.
4) Read the appropriate amount of data from the file (see below), and use the appropriate set method on the Field object that you got in step 3.
How do you know how much data to read from the file? There are a couple of ways to do this. You can use the getType() method on the Field object (from step 3), then use this to find an appropriate "read and convert" routine. Or, if you want to drive from the C++ code, the table that you define in step 1 could identify the C++ type.
This is, of course, only a skeleton description of what you need to do. But as outlined, it should take only a day or two to implement. The real problem is if your C++ structures change frequently, or you'll be processing data from multiple sources (so byte order and field size may change). In that case, you may (1) find it best to implement a parser to build your field table, and (2) drive everything off the field table, which would then have to contain additional information about the appropriate conversion routine.
Also, you could check SourceForge or other open-source sites, to see if someone has already done this.

Similar Messages

  • Very slow painting while reading and writing doubles into file

    for 15MB length file i = 7662080
    for 50MB length file i = 12414368
    Part of Code for writing into file follows like this:
    try{
    fos = new FileOutputStream("Angel.txt");
    File f = new File("Angel.txt");
         if(f.length() >=4)
         f.delete();
    fos = new FileOutputStream("Angel.txt");     
    dos = new DataOutputStream(new BufferedOutputStream(fos,1000000));
    int x=0;
    double y_last, y_new;
    for(int j=0 ;j<i ;j++)
    if(some condition)
    y_new = ....;
    try{
    //previously in vectors
    y_last = y_new;
    vect.add(new Line2D.Double(x, y_last, x, y_new)_;
    dos.writeDouble(y_new);
         }catch(Exception e){System.out.println(e);}
    dos.close();
    fos.close();
    x++;
    }catch(Exception excp){System.out.println(excp);}
    part of code for reading from file follows like this:
    public void paint(Graphics g)
    try{
         double y1, y2 =0;               
         Line2D.Double doub;
         raf = new RandomAccessFile("Angel.txt","r");
         dis = new DataInputStream(new BufferedInputStream(new FileInputStream(raf.getFD(),1000000)));
         raf.seek((rect.x*8));
         for (int i = 0/any value; (i < value as per choice); i++)
              g2.setStroke(new BasicStroke(0)); //2
              y1 = y2;
         y2 =dis.readDouble();
              doub=new Line2D.Double(i,y1,i,y2);
              g2.draw(doub);
    dis.close();
         raf.close();
    }catch(Exception excp){System.out.println(excp);}
    I tried using Object Streams but NotSerializable Exception is thrown as Line2D.Double objects
    are not serialized.
    Any idea to make reading and writing into file specially from MB files faster is appreciated.

    Why are you reading in the file in the paint method ?
    Create your data once before painting.
    I think you should explain what is your goal and what behavior you want.
    Denis

  • Reading and writing a ByteArray

    This question was posted in response to the following article: http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7d54.html

    I believe that the example of Reading and Writing Objects needs a rewrite
    First, the attempt to use comments to interleave a Flex-ified example with a Flash example of the uses of the ByteArray Class is a shortcut that ultimately fails.  Take the time to create two, separately valid examples for the two different frameworks.
    Second, the interlinea comments show a rather poor example of how to write clean code, and are entirely confusing to the person you you trying to help learn how to use your library.  Look at the declaration of a variable called outFile:File, a comment about some function that is to be declared somewhere with the same name, outFile(), and indeed, if this code were to compile -- which I am sure it could not -- the compiler would see that you try to invoke an outFile() function.  No one gets through an interview who writes code that way.
    Third, I am not sure you understand how the readBytes and writeBytes methods work. In the upper example, where an order is being written to the file system, the writeBytes method uses data.length correctly.  At the point in time that it is used, the XML object will have been written into the bytes:ByteArray, so it will have a proper length.
    On the other hand, in the second half of the example, where the readBytes method similarly passes data.length, the reader has to be very lucky to note that at that point in time data.length will have a value of zero.  The inBytes:ByteArray was only instantiated, not populated with anything, as, indeed it should not be, at that point in the logic flow.  Most importantly, when the program does need to readBytes, there is no way for the program to know in advance what the length of the byte stream coming in from the file system will be.  Your example would be more correct, and could make a useful point in showing that readBytes (data) is the correct way to pass the arguments because the default behavior will then be used and the default behavior will be to make data whatever length it needs to be in order to hold the content from the file system.  The program can know the value of data.length after the read has taken place, but not before.

  • Problem on reading and writing from from a *.txt file

    I get Problem on reading and writing from from a *.txt file. The following is the read() method...
    The software said the DataInputStream is depreciated. Can anyone help me please?
    public void read()
        File file = new File("C://Documents and Settings//Charles//My Documents//Brunel//EE2065//Assignment and Lab//Assignment 4 and Lab 4//data.txt");
        FileInputStream in = null;
        String str = "";
        try
          in = new BufferedReader(file);
          //in = new FileInputStream(file);
          for(;;)
            str = new BufferedReader(in).readLine();
            //str = new DataInputStream(in).readLine();
            if(str == null)
              break;
            System.out.print(str);
        in.close();
        catch(IOException e)
            System.err.println("execution error: " +e);
      }

    Thank you for your reply. I have made some change. However, there is an incompetable type found error.
    in = new BufferedReader(new InputStreamReader(in));The following are all of the code.
    public void read()
        File file = new File("C://Documents and Settings//Charles//My Documents//Brunel//EE2065//Assignment and Lab//Assignment 4 and Lab 4//data.txt");
        FileInputStream in = null;
        //BufferedReader in = null;
        String str = "";
        try
          in = new BufferedReader(new InputStreamReader(in));
          //in = new FileInputStream(file);
          for(;;)
            BufferedReader Bstr = new BufferedReader(new InputStreamReader(in));
            //str = new BufferedReader(in).readLine();
            //str = new DataInputStream(in).readLine();
            if(str == null)
              break;
            System.out.print(str);
        in.close();
        catch(IOException e)
            System.err.println("execution error: " +e);

  • File importer detected an inconsistency in the file stucture of (file name). Reading and writing this file's metadata (XMP) has been disabled.

    I have duplicated a project to work on another computer. The project opens fine but when I import new footage/audio files I get this message. "File importer detected an inconsistency in the file stucture of (file name). Reading and writing this file's metadata (XMP) has been disabled." Then I can't play my timeline and Premier Pro crashes.  I have to force quit and restart my computer to continue working. What does this error really mean? How do you rectify?
    Our workflow requires that we duplicate projects to make updates because we are frequently revising but need to keep original project unchanged and intact.

    I have a similar issue and message , but occurs when I import AVI clips from OnLocation CS4 to Premier Pro CS4.

  • I updated Itunes today to the latest version. Windows 7 64bit. None of my drivers work and get an error when itunes starts, about registry setting for reading and writing dvds and cds missing. Anyone else have the same issue. I downloaded itunes again, re

    I updated Itunes today to the latest version. Windows 7 64bit. None of my drivers work and get an error when itunes starts, about registry setting for reading and writing dvds and cds missing. Anyone else have the same issue. I downloaded itunes again, reinstalled still have same issue.

    I'd start with the following document, with one modification. At step 12 after typing GEARAspiWDM press the Enter/Return key once prior to clicking OK. (Pressing Return adds a carriage return in the field and is important.)
    iTunes for Windows: "Registry settings" warning when opening iTunes

  • IPhone4 how through the USB mobile phone file reading and writing?

    iPhone4 how through the USB mobile phone file reading and writing?

    No idea what you are asking.
    Please explain

  • Switcher - Reading and Writing External IEEE HDD's

    Greetings,
    i'm trying to read and write with my external ieee drive on windows and the mac pro. it's format is ntfs, and is read only on the mac pro.
    i am admin and can't seem to change the permissions to read / write.
    the over all idea is i need to go back and forth between operating systems reading and writing from both sides of the house.
    here's a snapshot.
    http://briankross.com/images/500GBIEEEHDD.jpg
    Mac Pro   Mac OS X (10.4.8)  

    Unfortunately, no. In order to convert the drive to FAT32 it must be re-partitioned which is a destructive process.
    Why reward points?(Quoted from Discussions Terms of Use.)
    The reward system helps to increase community participation. When a community member gives you (or another member) a reward for providing helpful advice or a solution to their question, your accumulated points will increase your status level within the community.
    Members may reward you with 5 points if they deem that your reply is helpful and 10 points if you post a solution to their issue. Likewise, when you mark a reply as Helpful or Solved in your own created topic, you will be awarding the respondent with the same point values.

  • Reading and Writing large Excel file using JExcel API

    hi,
    I am using JExcelAPI for reading and writing excel file. My problem is when I read file with 10000 records and 95 columns (file size about 14MB), I got out of memory error and application is crashed. Can anyone tell me is there any way that I can read large file using JExcelAPI throug streams or in any other way. Jakarta POI is also showing this behaviour.
    Thanks and advance

    Sorry when out of memory error is occurred no stack trace is printed as application is crashed. But I will quote some lines taken from JProfiler where this problem is occurred:
              reader = new FileInputStream(new File(filePath));
              workbook = Workbook.getWorkbook(reader);
              *sheeet = workbook.getSheet(0);* // here out of memory error is occured
               JProfiler tree:
    jxl.Workbook.getWorkBook
          jxl.read.biff.File 
                 jxl.read.biff.CompoundFile.getStream
                       jxl.read.biff.CompoundFile.getBigBlockStream Thanks

  • Quickest method for reading and writing files

    Hi
    I need help regarding file operations.(Reading and Writing). Currently I am using BufferedReader and BufferedWriter to read and write files. But the files (XML) are very huge files(from 30 -50 mb). This is slowing the application to a great extent. Is there any other approach to perform the above mentioned operations on XML files in a fast manner.
    Thank You
    Mansoor.

    Hi
    Can u let me know how to use the java.nio pavkage for primitve data types(int,float..., boolean). I have tried it but found no success.
    Thank You
    Mansoor

  • ImageIo: reading and writing a jpeg corrupts the image

    Sometimes, ImageIo manages to read an image wrong. If I simply read() and write() the
    image without any transformations, the image writtten will have its colors all wrong. The
    output image format here doesn't matter.
    An example image is: http://bram.name/~brama/pics/test.jpg
    And output after reading and writing it: http://bram.name/~brama/pics/test_output.jpg
    Is the image io lib to blame, or is it a broken image? The image displays fine in other programs.
    Message was edited by:
    Bram_A

    Use this code to load the image.
    From my experience it is much more stable and also faster.
    My guess is that the problem is related to the ICC profile embeded in the JPEG.
    JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(new URL("http://www.stack.nl/~brama/pics/imageio.jpg").openStream());
    BufferedImage image = decoder.decodeAsBufferedImage();

  • Lightweight library for reading and writing mp3-tags

    Hi,
    I'm currently evaluating libraries for reading and writing mp3-tags. All the projects I found so far where not maintained for a couple of years.
    My question:
    Is there currently a library, which one could call standard for this purpose
    Cheers
    Jonny

    jonnybecker wrote:
    I'm currently evaluating libraries for reading and writing mp3-tags. Don't you rather mean ID3 tags?
    All the projects I found so far where not maintained for a couple of years.It may either be dead, or it may be so finished and free of bugs that no maintenance is needed anymore.
    If you're occurring problems with it and if it is open source you can always consider taking a fork for own development.
    Is there currently a library, which one could call standard for this purposeNo one comes to mind.

  • Callable statement Clob problem..reading and writing

    Hi,
    I am having problem ,,trying to read and write a clob object ...
    DB Server is oracle 9i and app server is WAS5.1
    I am geting exception...
    java.sql.SQLException: Missing IN or OUT parameter at index::
    pls check the code below..
    Connection connection = null;
    CallableStatement csmtObj = null;
    Clob clob = null;
    try {
    connection = getConnection();
    csmtObj = connection.prepareCall("{call MYPROC(?,?,?)}");
    csmtObj.registerOutParameter(1,Types.CLOB);
    csmtObj.setString(2,"xxx");
    csmtObj.setString(3,"YYY");
    csmtObj.execute();
    clob = csmtObj.getClob(1);
    } catch (Exception exception){
    exception.printStackTrace();
    throw exception;
    Regards

    Thanks
    I was able to resolve the reading part but ...I am getting exception while writing ..
    it says parameter type conflict..
    This is the code
    public static boolean putStringAsCLOB(String strContent, String strDataType,
              String strOperType) {
         boolean operationStatus=false;
         Connection connection = null;
         CallableStatement csmtObj = null;
    String clob = strContent;
    ByteArrayInputStream bais = new ByteArrayInputStream(pfoAsBytes);
    InputStreamReader reader=new InputStreamReader(bais);     
    try {
              connection = getConnection();
              csmtObj = connection.prepareCall("{call MYPROC(?,?,?)}");     
              csmtObj.setCharacterStream(1,reader,pfoAsBytes.length);
         csmtObj.setString(2,strDataType);
              csmtObj.setString(3,strOperType);
              operationStatus=csmtObj.execute();
         } catch (Exception exception){
              exception.printStackTrace();          
         } finally{
              if(connection != null){
                   try {
                        connection.close();
                   } catch (SQLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
         return operationStatus;
    Regards
    Message was edited by:
    user606712

  • Reading and writing to and from a file to a form

    Hi there
    I would like somebody to send me a code example,
    showing me how to reading records from a file to a form,
    and writing records to the same file from the same form.
    I know that I have to use sycronize, but I just have not been
    successful. I can constract forms, go from form to a form,
    do buttons, do text fields. I can even read and write from and
    to files. However I cannot do is write from a file to a form and
    from a form to a file.
    could somebody please explain how this done, and could you
    please give me a code example. All the books seem to either
    deal with forms or with files. None seem to combine both.
    I am sure it is very ease to do if ONLY I knew how!!!
    thank you very much in advance for you help.

    I understand that code and I have used it before, however thanks for
    trying to help me, it is really appreciated. However, that is not my
    problem. I can read and write from a file to the console and vice versa.
    what I cannot do, no matter how hard I try, is to write from a file, and
    output it in.
    I will tell you how far I have got.
    I have a MenuFrame class, this is the code for it:
    package WorkflowApp;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    public class MenuFrame extends JFrame {
    JMenuBar menuBar1 = new JMenuBar();
    JMenu menuFile = new JMenu();
    JMenuItem menuFileExit = new JMenuItem();
    JMenu menuHelp = new JMenu();
    JMenuItem menuHelpAbout = new JMenuItem();
    JToolBar toolBar = new JToolBar();
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    JButton jButton3 = new JButton();
    ImageIcon image1;
    ImageIcon image2;
    ImageIcon image3;
    JLabel statusBar = new JLabel();
    Button button2 = new Button();
    Button button3 = new Button();
    Button button4 = new Button();
    Button button5 = new Button();
    Button button6 = new Button();
    Button button7 = new Button();
    Button button1 = new Button();
    //Construct the frame
    public MenuFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
    jbInit();
    catch(Exception e) {
    e.printStackTrace();
    //Component initialization
    private void jbInit() throws Exception {
    image1 = new ImageIcon(WorkflowApp.MenuFrame.class.getResource("openFile.gif"));
    image2 = new ImageIcon(WorkflowApp.MenuFrame.class.getResource("closeFile.gif"));
    image3 = new ImageIcon(WorkflowApp.MenuFrame.class.getResource("help.gif"));
    this.getContentPane().setLayout(null);
    this.setSize(new Dimension(400, 492));
    this.setTitle("MenuFrame");
    statusBar.setText(" ");
    statusBar.setBounds(new Rectangle(0, 0, 3, 17));
    menuFile.setText("File");
    menuFileExit.setText("Exit");
    menuFileExit.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    fileExit_actionPerformed(e);
    menuHelp.setText("Help");
    menuHelpAbout.setText("About");
    menuHelpAbout.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    helpAbout_actionPerformed(e);
    jButton1.setIcon(image1);
    jButton1.setToolTipText("Open File");
    jButton2.setIcon(image2);
    jButton2.setToolTipText("Close File");
    jButton3.setIcon(image3);
    jButton3.setToolTipText("Help");
    toolBar.setBorder(null);
    toolBar.setBounds(new Rectangle(2, 2, 389, 30));
    button2.setBounds(new Rectangle(217, 62, 135, 44));
    button2.setLabel("Staff Details");
    button2.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button2_actionPerformed(e);
    button3.setBounds(new Rectangle(26, 127, 135, 44));
    button3.setLabel("Arange Viewing");
    button3.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button3_actionPerformed(e);
    button4.setBounds(new Rectangle(218, 127, 136, 41));
    button4.setLabel("Valuation");
    button4.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button4_actionPerformed(e);
    button5.setBounds(new Rectangle(28, 196, 135, 41));
    button5.setLabel("Schedule");
    button6.setBounds(new Rectangle(221, 194, 133, 40));
    button6.setName("button6");
    button6.setLabel("Register Interest");
    button7.setBounds(new Rectangle(31, 266, 133, 42));
    button7.setLabel("Register Offers");
    button1.setBounds(new Rectangle(27, 62, 131, 42));
    button1.setLabel("New Client");
    button1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button1_actionPerformed(e);
    menuFile.add(menuFileExit);
    menuHelp.add(menuHelpAbout);
    menuBar1.add(menuFile);
    menuBar1.add(menuHelp);
    this.setJMenuBar(menuBar1);
    this.getContentPane().add(statusBar, null);
    this.getContentPane().add(toolBar, null);
    toolBar.add(jButton1);
    toolBar.add(jButton2, null);
    toolBar.add(jButton3, null);
    this.getContentPane().add(button3, null);
    this.getContentPane().add(button5, null);
    this.getContentPane().add(button7, null);
    this.getContentPane().add(button2, null);
    this.getContentPane().add(button4, null);
    this.getContentPane().add(button6, null);
    this.getContentPane().add(button1, null);
    //File | Exit action performed
    public void fileExit_actionPerformed(ActionEvent e) {
    System.exit(0);
    //Help | About action performed
    public void helpAbout_actionPerformed(ActionEvent e) {
    MenuFrame_AboutBox dlg = new MenuFrame_AboutBox(this);
    Dimension dlgSize = dlg.getPreferredSize();
    Dimension frmSize = getSize();
    Point loc = getLocation();
    dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
    dlg.setModal(true);
    dlg.show();
    //Overridden so we can exit on System Close
    protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if(e.getID() == WindowEvent.WINDOW_CLOSING) {
    fileExit_actionPerformed(null);
    void button2_actionPerformed(ActionEvent e) {
    StaffDetails myFrame = new StaffDetails();
    myFrame.show();
    void button3_actionPerformed(ActionEvent e) {
    ArrangeViewing myFrame = new ArrangeViewing();
    myFrame.show();
    void button1_actionPerformed(ActionEvent e) {
    NewClientFrame myFrame = new NewClientFrame();
    myFrame.show();
    // System.exit(1);
    void button4_actionPerformed(ActionEvent e) {
    Valuation myFrame = new Valuation();
    myFrame.show();
    then I have a new form class, this is the code for it
    package WorkflowApp;
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class NewClientFrame extends JFrame {
    Label label1 = new Label();
    Label label2 = new Label();
    Label label3 = new Label();
    Label label4 = new Label();
    Label label5 = new Label();
    Label label6 = new Label();
    Label label7 = new Label();
    Label label8 = new Label();
    Label label9 = new Label();
    Label label10 = new Label();
    TextField textField1 = new TextField();
    TextField textField2 = new TextField();
    TextField textField3 = new TextField();
    TextField textField4 = new TextField();
    TextField textField5 = new TextField();
    TextField textField6 = new TextField();
    TextField textField7 = new TextField();
    TextField textField8 = new TextField();
    TextField textField9 = new TextField();
    TextField textField10 = new TextField();
    Button button1 = new Button();
    Button button2 = new Button();
    //Construct the frame
    public NewClientFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
    jbInit();
    catch(Exception e) {
    e.printStackTrace();
    //Component initialization
    private void jbInit() throws Exception {
    this.getContentPane().setLayout(null);
    this.setSize(new Dimension(411, 488));
    this.setTitle("NewClientFrame ");
    this.addWindowListener(new java.awt.event.WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    this_windowClosing(e);
    label1.setBounds(new Rectangle(21, 23, 110, 23));
    label1.setAlignment(2);
    label1.setText("Assign Number");
    label2.setBounds(new Rectangle(23, 57, 108, 25));
    label2.setAlignment(2);
    label2.setText("Name");
    label3.setBounds(new Rectangle(40, 91, 94, 24));
    label3.setAlignment(2);
    label3.setText("Address 1");
    label4.setBounds(new Rectangle(21, 124, 112, 29));
    label4.setAlignment(2);
    label4.setText("Address 2");
    label5.setBounds(new Rectangle(20, 159, 116, 29));
    label5.setAlignment(2);
    label5.setText("PoscCode");
    label6.setBounds(new Rectangle(18, 197, 119, 26));
    label6.setAlignment(2);
    label6.setText("Telephone");
    label7.setBounds(new Rectangle(25, 228, 112, 26));
    label7.setAlignment(2);
    label7.setText("Other Telephone");
    label8.setBounds(new Rectangle(12, 261, 125, 24));
    label8.setAlignment(2);
    label8.setText("Email Address");
    label9.setBounds(new Rectangle(6, 301, 138, 25));
    label9.setAlignment(2);
    label9.setText("Staff Assigned (Name)");
    label10.setBounds(new Rectangle(22, 341, 124, 23));
    label10.setAlignment(2);
    label10.setText("Staff Assigned (No.)");
    textField1.setBounds(new Rectangle(155, 19, 80, 26));
    textField2.setBounds(new Rectangle(155, 58, 193, 24));
    textField3.setBounds(new Rectangle(156, 90, 192, 25));
    textField4.setBounds(new Rectangle(157, 126, 192, 23));
    textField5.setBounds(new Rectangle(157, 159, 195, 25));
    textField6.setBounds(new Rectangle(157, 194, 195, 26));
    textField7.setBounds(new Rectangle(157, 230, 192, 24));
    textField8.setBounds(new Rectangle(157, 263, 193, 25));
    textField9.setBounds(new Rectangle(157, 303, 196, 24));
    textField10.setBounds(new Rectangle(158, 337, 95, 24));
    button1.setBounds(new Rectangle(23, 398, 144, 34));
    button1.setLabel("Staff Available");
    button2.setBounds(new Rectangle(211, 396, 148, 34));
    button2.setLabel("Submit Record");
    button2.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button2_actionPerformed(e);
    this.getContentPane().add(label1, null);
    this.getContentPane().add(label2, null);
    this.getContentPane().add(label3, null);
    this.getContentPane().add(label4, null);
    this.getContentPane().add(label5, null);
    this.getContentPane().add(label6, null);
    this.getContentPane().add(label7, null);
    this.getContentPane().add(label8, null);
    this.getContentPane().add(label9, null);
    this.getContentPane().add(label10, null);
    this.getContentPane().add(textField1, null);
    this.getContentPane().add(textField2, null);
    this.getContentPane().add(textField3, null);
    this.getContentPane().add(textField4, null);
    this.getContentPane().add(textField5, null);
    this.getContentPane().add(textField6, null);
    this.getContentPane().add(textField7, null);
    this.getContentPane().add(textField8, null);
    this.getContentPane().add(textField9, null);
    this.getContentPane().add(textField10, null);
    this.getContentPane().add(button1, null);
    this.getContentPane().add(button2, null);
    public void fileExit_actionPerformed(ActionEvent e) {
    System.exit(0);
    // exit(this);
    // close();
    //Overridden so we can exit on System Close
    protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if(e.getID() == WindowEvent.WINDOW_CLOSING) {
    System.exit(0);
    void button2_actionPerformed(ActionEvent e) {
    // myFrame.close();
    this.dispose();
    void this_windowClosing(WindowEvent e) {
    this.dispose();
    I also have an about box, staff details, and valuation forms.
    what I am trying to do is for the New client form to be able to read and write from and to a file, and display the info.
    I am working in JBuilder3, a bit out of date I know, but it is the best I can do. Any Ideas how to do this.

  • Reading and Writing to blob column is very slow

    Hi
    I want to write a serialized java object called 'engine' to a database table called javaObjectsDB. The serialized object could be of sizes anywhere between 20MB to 4GB. I am using the following code to write this 'engine' object
                   * Write java object to BLOB in DB - Start
                   Connection conn=null;
                   conn = Util.getConnectionFromDS();
              PreparedStatement ps=null;
              String sql=null;
                   Engine.startWatch();
                   ByteArrayOutputStream baos = new ByteArrayOutputStream();
                   Engine.endWatch("Time for ByteArrayOutputStream");
                   Engine.startWatch();
                   ObjectOutputStream oos = new ObjectOutputStream(baos);
                   Engine.endWatch("Time for ObjectOutputStream");
                   Engine.startWatch();
                   oos.writeObject(this.engine_);
                   Engine.endWatch("Time for oos.writeObject");
                   oos.flush();
                   Engine.startWatch();
                   byte[] data = baos.toByteArray(); // in case of using ByteArrayOutputStream
                   Engine.endWatch("Time for toByteArray");
                   Engine.startWatch();
         sql="insert into javaObjectsDB values (?)";
         ps=conn.prepareStatement(sql);
         ps.setObject(1, data); // in case of using ByteArrayOutputStream
         ps.executeUpdate();
         Engine.endWatch("Time for prepare statement and insert");
                   * Write java object to BLOB in DB - End
    To read from database BLOB column back to the engine object I use the following code:
    try {
                   String readBlob = "SELECT javaObject FROM javaObjectsDB ";
                   Statement readBlobStmt = conn.createStatement();
                   ResultSet resultSet = readBlobStmt.executeQuery(readBlob);
                   while (resultSet.next()) {
                        * ByteArrayStream *** Start
                        Engine.startWatch();
                        Blob blob = resultSet.getBlob(1);
                        Engine.endWatch("loadPlan::Time for getBlob");
                        Engine.startWatch();               
                        byte [] data = blob.getBytes(1,(int)blob.length());
                        Engine.endWatch("loadPlan::Time for getBytes");                    
                        Engine.startWatch();
                   ByteArrayInputStream bais = new ByteArrayInputStream(data);               
                   Engine.endWatch("loadPlan::Time for ByteArrayInputStream");
                   Engine.startWatch();
                   ObjectInputStream oin = new ObjectInputStream(bais);
                   Engine.endWatch("loadPlan::Time for ObjectInputStream");
                   Engine.startWatch();
                   engine_ = (Engine)oin.readObject();     
                   Engine.endWatch("loadPlan::Time for oin.readObject");
                   System.out.println("engine object prepared");
                        * ByteArrayStream *** End
                   } //while of result Set
    The time taken to write and read for a engine object of size 124MB are:
    write - 41secs
    read - 28secs
    For a engine object of size 340MB
    write - 3minutes
    read - 1minute
    This is a lot of time for such small object size, and since we are expecting sizes of 4GB, I need to have better performance. Please suggest what I can do to improve performance for read and write.
    One thing I tried was using cached lobs but not of much use.

    Welcome to the forum!
    Unfortunately this is an Oracle forum and your question should be posted in the Java JDBC forum.
    https://forums.oracle.com/forums/category.jspa?categoryID=288
    Please create a question on the JDBC forum, post a link to that new question here, in this forum, and mark this question answered.
    That way anyone seeing this question can followup with you in the other forum.
    Thanks.

Maybe you are looking for

  • "ports" command

    Pls. tell me how to use "ports" command in solaris 8 , with an example. thanks in advanse sansol

  • Maintenance plans for Backward counter

    Is it possible for having a preventive maintenance plan for a measurement point that counts backwards? Your inputs on this will be appreciated!

  • Delete the initialization of delta on open hub table

    HI Gurus I have loaded data from cube to open hub table using DTP with full update, later on i have loaded the data using a DTP with delta update. Now i am thinking that delta has been initialized on the open hub table, so now want to delete the init

  • Safari hangs after Updating to Mavericks.

    Whenever I try to SWIPE(back and forward) between pages in safari, all the trackpad gestures stop working. I cannot even scroll up and down using trackpad. Tried the same in Chrome as well. Witnessed the same issue. But, in Chrome, I can go back to t

  • Web Dynpro component activation failed

    I tried to activate a web dynpro component and the activation failed. Have listed error messages from the request log and activation log. Do let me know what could be the issue. The application deployed successfully on my local J2EE. Request log deta