java - How to use String.split with a text file to add to a simple array -


my goal read in text file , add each element simple array (the elements separated comma). last method readdata() 1 can't figure out.

my code far :

public class versionchooser {  private scanner scan; private stockmanager amanager = new stockmanager("stockmanager");  public versionchooser() {     this.scan = new scanner(system.in); }  public void chooseversion() {     this.readdata();     this.runtextoption(); }  private void runtextoption() {     stocktui tui = new stocktui(this.amanager); }  public stockmanager readdata() {     string filename;     system.out.println("enter name of file used");     filename = this.scan.nextline();     system.out.println(filename);     try (final bufferedreader br = files.newbufferedreader(new file("filename").topath(),             standardcharsets.utf_16)) {         (string line; (line = br.readline()) != null;) {             final string[] data = line.split(",");              stockrecord record = new stockrecord(data[0], double.valueof(data[4]));              this.amanager.getstocklist().add(record);         }     } catch (ioexception ioe) {         ioe.printstacktrace();     }          return null; } } 

stockrecord :

public class stockrecord { private string date; private double closingprice;  public stockrecord(string date, double closingprice) {     this.date = date;     this.closingprice = closingprice; }  public string getdate() {     return this.date; }  public double getclosingprice() {     return this.closingprice; } public string tostring() {     return "on " + this.date + " stock had closing price of $"              + this.closingprice; } } 

step1 : read file line line.

step2: split line ","

step3 : construct string[] stockrecord.

try (final bufferedreader br = files.newbufferedreader(new file("stock.txt").topath(),             standardcharsets.utf_8)) {         list<stockrecord> stocks = new arraylist<stockrecord>();                     br.readline() ; // avoid first line         (string line; (line = br.readline()) != null;) { // first step             final string[] data = line.split(",");       // second step             stockrecord record = new stockrecord(data[0], double.valueof(data[1]));             stocks.add(record);    // third step         }     } catch (ioexception e) {         e.printstacktrace();     } 

your stockrecord doesn't has records. , demo purpose did assumed 2 element closing price . change accordingly


Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -