写好这些类之后,就可以开始着手测试了。 写一个测试CSV文件生成的jsp文件。如:
<%@ page contentType="text/html" import="com.vogoal.util.*,com.vogoal.util.csv.*,java.io.IOException" %> create a csv file <% try { CSVCreater csvCre = new CSVCreater("C:\\test.csv"); csvCre.setConvertFlag(true); csvCre.setData("aaa"); csvCre.setData("aa,a"); csvCre.writeLine(); csvCre.setData("aa\"a"); csvCre.setData("aa,a"); csvCre.setData("aa,a"); csvCre.writeLine(); csvCre.setData("aa\"a"); csvCre.setData("aa,\"a"); csvCre.setData("aa,\"a"); csvCre.setData("aa,\"a"); csvCre.setData("aa,\"a"); csvCre.writeLine(); csvCre.close(); } catch (IOException e) { e.printStackTrace(); } %>
写一个测试CSV文件分析的jsp文件。如:
<%@ page contentType="text/html" import="com.vogoal.util.*,com.vogoal.util.csv.*,java.io.IOException, java.util.ArrayList" %> analysis a csv file<br> <% try { CSVAnalysis csvAna = new CSVAnalysis("C:\\test.csv"); csvAna.setConvertFlag(true); ArrayList al = csvAna.analysis(); for (int i = 0; i < al.size(); i++) { out.println( (i + 1) + " line start<br>"); ArrayList al1 = (ArrayList) al.get(i); for (int j = 0; j < al1.size(); j++) { out.println(al1.get(j)); out.println("<br>"); } out.println( (i + 1) + " line end<br>"); } csvAna.close(); } catch (IOException e) { e.printStackTrace(); } %>
将编译后的class拷贝到TOMCAT自己的应用的WEB-INF下。将jsp文件放到自己的应用下。 然后启动TOMCAT,访问jsp文件,当访问creCSV.jsp的时候,正常情况下可以看到C盘根目录下生成了一个test.csv文件。然后访问anaCSV.jsp文件,可以看到分析后的数据被打印出来。
至此,csv生成,分析类做成。
使用帮助:
CSVCreater.java类,用来生成CSV文件的类。 构造函数public CSVCreater(String arg) throws IOException 参数:arg 要生成的csv文件的绝对路径 使用例CSVCreater csvCre = new CSVCreater("C:\\test.csv");
public void setConvertFlag(boolean b) 是否转义设定函数(将半角双引号进行转义处理) 参数:true 需要转义(推荐) false 不转义
public void setData(String data) 添加单个数据的函数
public void writeLine() 结束换行函数
public void writeDataByLine(String[] args) 将一个数组的元素添加到一行并换行函数
public void close() throws IOException 必须调用的函数,写入文件并关闭文件处理的对象。
例子可参考jsp文件中的代码,但是jsp文件中的close()方法是在try块中执行的,不推荐,使用的时候还是在finally块中执行要安全一些。 这个类涉及到了文件的操作,有可能出现IOException,出现异常的时候会抛出给使用者。
CSVAnalysis.java 构造函数 public CSVAnalysis(String f) throws IOException 参数是要分析的文件的绝对路径。
public ArrayList analysis() throws IOException 分析流处理的方法,返回ArrayList对象。返回的ArrayList的数据格式是 ArrayList中存放着ArrayList对象,存放的每个ArrayList对象对应csv文件的一行。 一行对应的ArrayList中存放着String对象,为该行中所有的数据。
public void close() throws IOException 必须调用的函数,关闭文件处理的对象。 同样,这个方法应在finally块中执行要安全一些。
源码下载:CSVproc.zip 源码为上面提到过的所有的类和jsp文件
经典论坛讨论: http://bbs.blueidea.com/thread-2818256-1-1.html
本文链接:http://www.blueidea.com/tech/program/2008/5247.asp
出处:蓝色理想
责任编辑:moby
上一页 Jsp常用功能—CSV文件的生成与分析 [2] 下一页
◎进入论坛网络编程版块参加讨论
|