首页 > 编程知识 正文

java加载csv需求文档,java将输出内容保存到文件

时间:2023-05-04 04:34:31 阅读:125536 作者:2

对象是读取csv文件,封装数据

例如,图中的. csv文件需要读取数据封装对象以实现数据持久化。

publicstaticvoidreadcsv (stringreadpath,ArrayList list ) (文件信息=新文件) readpath ); try { bufferedreaderreader=newbufferedreader (新文件读取器) infile ); 布尔符号=假; //用于跳过第一行的名称while(reader.ready () { String line=reader.readLine ) ); stringtokenizerst=new string tokenizer (line,','; int date,time,num_transaction,response_time; 双宿crate; if(ST.hasmoretokens () sign ) date=integer.value of (ST.next token ).trim ); time=integer.value of (ST.next token ().trim ) ); num _ transaction=integer.value of (ST.next token ).trim ); su crate=double.value of (ST.next token ().trim ) ); response _ time=integer.value of (ST.next token ).trim ); samplesample=newsample(date,time,num_transaction,sucRate,response_time ); list.add (样本; } else { sign=true; } } reader.close (; }catch(filenotfoundexceptione ) { e.printStackTrace ); }catch(ioexceptione ) { e.printStackTrace ); }如果有多个对象,则可以传递一个Class对象,获取需要封装对象的类名,然后推进方法的一般化。

publicclassreadcsv { publicstaticvoidreadcsv (inputstream inputstream,ArrayList对象列表,Class cls )缓冲存储器布尔标志=假; arrayliststringheaderlist=new ArrayList (; while(reader.ready () ({ String line=reader.readLine ) ); stringtokenizerst=new string tokenizer (line,','; //处理当前行数据if (ST.hasmoretokens ) flag ) string typename=cls.getsimplename ); //文件中包含能源供应类信息if (typename.equals (“能源供应”) ) (stringprovincename=ST.next token ); //float year 2019=float.value of (ST.next token ) ); //float year 2018=float.value of (ST.next token ) ); 浮动年2017=float.value of (ST.next token ) ); 浮动年2016=float.value of (ST.next token ) ); 浮动年2015=float.value of (ST.next token ) ); 浮动年2014=float.value of (ST.next token ) ); 浮动年2013=float.value of (ST.next token ) ); 浮动年2012=float.value of (ST.next token ) ); 浮动年2011=float.value of (ST.next token ) ); MapString,Float dataMap=new HashMap (; //datamap.put(headerlist.get(1),year2019 ); //datamap.put(headerlist.get(2),year2018 ); 数据映射. put (header list.get (1),year2017 ); 数据映射. put (header list.get (2),year2016 ); 数据映射. put (header list.get (3),year2015 ); 数据映射. put (header list.get (4),year2014 ); 数据映射. put (header list.get (5),year2013 ); 数据映射. put (header list.get (6),year2012 ); 数据映射. put (header list.get (7),year2011 ); list.add (新能源保护(保护名称,数据映射) ); }在}else{//list集合while中添加标头(ST.hasmoretokens () ) (headerlist.add ) ST.nexttoken ) ); } flag=true; }}catch(exceptione ) { e.printStackTrace ); (财务(if )自述!=null(try ) reader.close ); }catch(ioexceptione ) { e.printStackTrace ); } }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。