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
Post a Comment