Java, using Scanner to fetch data line by line -


this question has answer here:

i'm running code:

addressbook.java

/*  * change license header, choose license headers in project properties.  * change template file, choose tools | templates  * , open template in editor.  */ package addressbook;  import javafx.application.application; import javafx.fxml.fxmlloader; import javafx.scene.parent; import javafx.scene.scene; import javafx.stage.stage;  /**  *  * @author hassan  */ public class addressbook extends application {      @override     public void start(stage stage) throws exception {         parent root = fxmlloader.load(getclass().getresource("mainwindow.fxml"));          scene scene = new scene(root);          stage.setscene(scene);         stage.setresizable(false);         stage.show();     }      /**      * @param args command line arguments      */     public static void main(string[] args) {         launch(args);         new addressbookmapper().parsedatafile();     } } 

addressbookmapper.java:

/*  * change license header, choose license headers in project properties.  * change template file, choose tools | templates  * , open template in editor.  */ package addressbook;  import java.io.file; import java.io.filewriter; import java.io.ioexception; import java.io.printwriter; import java.nio.file.files; import java.nio.file.path; import java.nio.file.paths; import java.util.arraylist; import java.util.iterator; import java.util.list; import java.util.scanner; import java.util.regex.pattern; /**  *  * @author hassan  */ public class addressbookmapper {     private file datafile;     private filewriter filewriter;     private printwriter printwriter;     public arraylist lines;      private void opendatafile() {         this.datafile = new file("src/addressbook/datafile.txt");     }     public void writedata() {          system.out.println(this.lines);         iterator iterator = this.lines.iterator();         system.out.println(this.lines.get(0));         while(iterator.hasnext()) {             system.out.println();             system.out.println("-----");         }     }     public void createaddress(string fullname, string email, string telephonenumber, string mobilenumber) {         this.opendatafile();         try {             this.filewriter = new filewriter(this.datafile, true);             this.printwriter = new printwriter(this.filewriter);             this.printwriter.append(fullname + "," + email + "," + telephonenumber + "," + mobilenumber + "\n");             this.printwriter.close();         } catch (ioexception e) {             e.printstacktrace();         }     }     public int getlastid() {         return 0;     } public void parsedatafile() {     file datafile = new file("src/addressbook/datafile.txt");      try {         scanner scanner = new scanner(datafile, "utf-8").usedelimiter("\\n");          while(scanner.hasnext()) {             system.out.println(scanner.next());         }     } catch (ioexception e) {         e.printstacktrace();     }     this.writedata(); }     private int findlastaddressid() {         return 0;     } } 

my data file text:

ff,ff,fff,ff krfr,frffr,frfs,ff a,a,b,c d,a,f,e fa,e,f,a 

but, reason, output:

ff,ff,fff,ff java.lang.reflect.invocationtargetexception     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) krfr,frffr,frfs,ff a,a,b,c d,a,f,e fa,e,f,a null     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:497)     @ com.sun.javafx.application.launcherimpl.launchapplicationwithargs(launcherimpl.java:389)     @ com.sun.javafx.application.launcherimpl.launchapplication(launcherimpl.java:328)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:497)     @ sun.launcher.launcherhelper$fxhelper.main(launcherhelper.java:767) caused by: java.lang.nullpointerexception     @ addressbook.addressbookmapper.writedata(addressbookmapper.java:36)     @ addressbook.addressbookmapper.parsedatafile(addressbookmapper.java:69)     @ addressbook.addressbook.main(addressbook.java:36)     ... 11 more exception running application addressbook.addressbook java result: 1 

any solution? trying text data file line line , stack arraylist. also, when writing datafile adds blank line in end of document.

can please try -

while(scanner.hasnext()) {     lines.add(scanner.next()); } 

Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -