java - Unable to 'read' text file after creating and adding data to it -


i've received regarding how append text file, seems i've broken else. i'm not able 'read' file.

what i'm trying is:

  1. enter data gui text fields
  2. click save button(creating file , appending data .txt file)
  3. be able read file panel

i'm doing dumb again, fear.

below java code gui, createtextfile, , readtextfile

import java.awt.color; import java.awt.flowlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.sql.sqlexception;  import javax.swing.*;  public class donorgui extends jframe {      // components     private jpanel panel;     private jtextarea results;     private jbutton entrybutton;     private jbutton exitbutton;     private jbutton clearbutton;     private jbutton savebutton;     private jbutton openbutton;     private jtextfield donorfield;     private jtextfield charityfield;     private jtextfield pledgefield;      //create variables     string[] donorname = new string[20];     string[] charityname = new string[20];     double[] donationamt = new double[20];     int = 0;       // constants window size     private final int window_width = 750;     private final int window_height = 525;      //constructor     public donorgui(){          // set title.         settitle("wounded warrior donation tracker.");          // specify happens when close button clicked.         setdefaultcloseoperation(jframe.exit_on_close);          // build panel contains other components.         buildpanel();          // add panel content pane.         add(panel);          // size , display window.         setsize(window_width, window_height);         setvisible(true);     }      //the buildpanel method creates panel containing other components.     private void buildpanel(){          // create labels display instructions.         jlabel message1 = new jlabel("name of donor:");         jlabel message2 = new jlabel("name of charity:");         jlabel message3 = new jlabel("amount of pledge:");          //instantiate results area         results = new jtextarea(25,60);         results.seteditable(false);         results.setwrapstyleword(true);         results.setlinewrap(true);         results.setborder(borderfactory.createloweredbevelborder());           // create text fields receive user input         donorfield = new jtextfield(10);         charityfield = new jtextfield(10);         pledgefield = new jtextfield(10);           //create user buttons cause action         entrybutton = new jbutton("enter donation.");         entrybutton.addactionlistener(new entrybuttonlistener());         exitbutton = new jbutton("exit");         exitbutton.addactionlistener(new exitbuttonlistener());         clearbutton = new jbutton ("clear fields");         clearbutton.addactionlistener(new clearbuttonlistener());         savebutton = new jbutton ("save");         savebutton.addactionlistener(new savebuttonlistener());         openbutton = new jbutton ("open");         openbutton.addactionlistener(new openbuttonlistener());          // create panel.         panel = new jpanel();         panel.setbackground(color.orange);          //set layoutmanager         panel.setlayout(new flowlayout());          // add labels, text fields, , button panel.         panel.add(message1);         panel.add(donorfield);         panel.add(message2);         panel.add(charityfield);         panel.add(message3);         panel.add(pledgefield);         panel.add(results);         panel.add(entrybutton);         panel.add(clearbutton);         panel.add(savebutton);         panel.add(openbutton);         panel.add(exitbutton);           }     private class entrybuttonlistener implements actionlistener {          public void actionperformed(actionevent e) {              donorname[i] = donorfield.gettext();             charityname[i] = charityfield.gettext();             if (donationamt(pledgefield.gettext())) {                   donationamt[i] = double.parsedouble(pledgefield.gettext());             }else{                 donorfield.settext("");                 charityfield.settext("");                 pledgefield.settext("");             }             results.append(donorname[i]+" "+charityname[i]+" "+donationamt[i]+"\n ");             donorfield.settext("");             charityfield.settext("");             pledgefield.settext("");             i++;         }      }     public boolean donationamt(string amount) {          if(amount==null || amount=="" || amount.length()<1){  //checking empty field             joptionpane.showmessagedialog(null, "please enter amount pledged");             return false;         }         for(int = 0; < amount.length(); i++){  //verifying dollar amount entered number                 if (!character.isdigit(amount.charat(i)) && amount.charat(i)!='.'){                      joptionpane.showmessagedialog(null, "invalid input.");                     return false;                 }          }         return true;      }       private class clearbuttonlistener implements actionlistener {          public void actionperformed (actionevent e) {             donorfield.settext("");             charityfield.settext("");             pledgefield.settext("");             }     }     private class exitbuttonlistener implements actionlistener {          public void actionperformed(actionevent e) {             system.exit(0);         }     }     private class savebuttonlistener implements actionlistener {          public void actionperformed(actionevent e) {              createtextfile cr = new createtextfile();             cr.openfile();             cr.addrecords(donorname, charityname, donationamt);             cr.closefile();              javadbclass db = new javadbclass();            }      }     private class openbuttonlistener implements actionlistener {          public void actionperformed(actionevent e) {              readtextfile read = new readtextfile();             read.openfile();             donorgui donor = read.readrecords();             read.closefile();                        javadbclass db = new javadbclass(donor);             for(int = 0;i<donor.donationamt.length;i++){                  try {                     results.append(db.showtable()[i]+"\n");                 } catch (sqlexception e1) {                     // todo auto-generated catch block                     e1.printstacktrace();                 }              }         }      }      /* application method */     public static void main(string[] args){          donorgui rpc = new donorgui();     } } 

create text file java code:

/** create text file based on user input , save donations.txt.  *   */ import java.io.filenotfoundexception; import java.util.formatter; import java.util.formatterclosedexception; import java.util.nosuchelementexception;  public class createtextfile {      //object outputs text file     private formatter output;      //try opening file     public void openfile(){          try         {             output = new formatter(new fileoutputstream("c:/temp/donations.txt", true));         }         catch (securityexception securityexception)         {             system.out.println("you cannot write file.");         }         catch (filenotfoundexception notfoundexception)         {             system.out.println("you couldn't open or find file.");         }      }     //try writing file     public void addrecords(string[] donor, string[] charity, double[] donation){                  try{                      (int j=0; j<donor.length; j++) {                          if (donor[j] != null) {                             output.format("\n%s %s %.2f",donor[j],charity[j],donation[j]);                             }                      }               }                catch (formatterclosedexception formatterclosedexception){                       system.out.println("you couldn't write file.");                }                catch (nosuchelementexception elementexception){                       system.out.println("invalid input.");                }         }     //try closing file     public void closefile(){         if(output!=null)             output.close();     } } 

read text file java code:

import java.io.file; import java.io.filenotfoundexception; import java.util.scanner;  public class readtextfile {      private scanner input;      //try open file     public void openfile(){         try{             input = new scanner(new file("c:/temp/donations.txt"));         }         catch (filenotfoundexception filenotfoundexception)         {             system.out.println("file not found.");             system.exit(1);         }     }     //try read file     public donorgui readrecords(){          donorgui gui = new donorgui();          while(input.hasnext())         {             for(int j = 0;j<20;j++){             gui.donorname[j] = input.next();             gui.charityname[j] = input.next();             gui.donationamt[j] = input.nextdouble();             }         }         return gui;      }     //try close file     public void closefile(){         if(input!=null)             input.close();      } } 

errors received:

exception in thread "awt-eventqueue-0" java.util.inputmismatchexception     @ java.util.scanner.throwfor(scanner.java:840)     @ java.util.scanner.next(scanner.java:1461)     @ java.util.scanner.nextdouble(scanner.java:2387)     @ readtextfile.readrecords(readtextfile.java:39)     @ donorgui$openbuttonlistener.actionperformed(donorgui.java:191)     @ javax.swing.abstractbutton.fireactionperformed(abstractbutton.java:1995)     @ javax.swing.abstractbutton$handler.actionperformed(abstractbutton.java:2318)     @ javax.swing.defaultbuttonmodel.fireactionperformed(defaultbuttonmodel.java:387)     @ javax.swing.defaultbuttonmodel.setpressed(defaultbuttonmodel.java:242)     @ javax.swing.plaf.basic.basicbuttonlistener.mousereleased(basicbuttonlistener.java:236)     @ java.awt.component.processmouseevent(component.java:6288)     @ javax.swing.jcomponent.processmouseevent(jcomponent.java:3267)     @ java.awt.component.processevent(component.java:6053)     @ java.awt.container.processevent(container.java:2041)     @ java.awt.component.dispatcheventimpl(component.java:4651)     @ java.awt.container.dispatcheventimpl(container.java:2099)     @ java.awt.component.dispatchevent(component.java:4481)     @ java.awt.lightweightdispatcher.retargetmouseevent(container.java:4577)     @ java.awt.lightweightdispatcher.processmouseevent(container.java:4238)     @ java.awt.lightweightdispatcher.dispatchevent(container.java:4168)     @ java.awt.container.dispatcheventimpl(container.java:2085)     @ java.awt.window.dispatcheventimpl(window.java:2478)     @ java.awt.component.dispatchevent(component.java:4481)     @ java.awt.eventqueue.dispatcheventimpl(eventqueue.java:643)     @ java.awt.eventqueue.access$000(eventqueue.java:84)     @ java.awt.eventqueue$1.run(eventqueue.java:602)     @ java.awt.eventqueue$1.run(eventqueue.java:600)     @ java.security.accesscontroller.doprivileged(native method)     @ java.security.accesscontrolcontext$1.dointersectionprivilege(accesscontrolcontext.java:87)     @ java.security.accesscontrolcontext$1.dointersectionprivilege(accesscontrolcontext.java:98)     @ java.awt.eventqueue$2.run(eventqueue.java:616)     @ java.awt.eventqueue$2.run(eventqueue.java:614)     @ java.security.accesscontroller.doprivileged(native method)     @ java.security.accesscontrolcontext$1.dointersectionprivilege(accesscontrolcontext.java:87)     @ java.awt.eventqueue.dispatchevent(eventqueue.java:613)     @ java.awt.eventdispatchthread.pumponeeventforfilters(eventdispatchthread.java:269)     @ java.awt.eventdispatchthread.pumpeventsforfilter(eventdispatchthread.java:184)     @ java.awt.eventdispatchthread.pumpeventsforhierarchy(eventdispatchthread.java:174)     @ java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:169)     @ java.awt.eventdispatchthread.pumpevents(eventdispatchthread.java:161)     @ java.awt.eventdispatchthread.run(eventdispatchthread.java:122) build successful (total time: 8 seconds) 

in openfile() method:

input = new scanner(new fileinputstream("c:/temp/donations.txt")); 

in readrecords() method:

try {   int j=0;   while (input.hasnextline()){     string line=input.nextline().trim();     if (!line.equals("")){       string inp[]=line.split("\s");       gui.donorname[j] = inp[0];       gui.charityname[j] = inp[1];       gui.donationamt[j++] = double.parsedouble(inp[2]);     }     if (j==20){break;} //don't understand why need see in code   } }catch (exception e){    e.printstacktrace(); } 

Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -