天天看点

有关数据移植的jsp样本

<%

out.clear();

try {

writexml();

for (int ii = 0; ii < 20; ii++) {

out.println("********开始导出!********<br>");

out.println("********导出完毕!********<br>");

}

} catch (Exception e) {

LogWriter.message(".jsp 在写XML数据时出错!");

}

%>

<%!private static Convert c1 = new Convert();

private static String strAppID = "14";

//一个一维数组,里面存放标准xml的字段名

private static String[] colsname = { "信息标题", "文号", "发布机构1", "成文日期1", "发布日期", "生效日期", "时效",

"组配分类", "主题分类", "审核人1", "创建时间", "文章内容", "用户帐号", "关键字", "作者", "来源", "摘要", "录入人", "审核人",

"链接网址", "截止日期", "评论", "信息备注", "索引号1", "是否公开发布", "体裁分类" };

//基础路径,即你存放xml的地址

private static String basicPath = "";

private static int infoCount = 0; //导出信息总数

private static int cataCount = 0; //有信息的栏目数

private static String cataInfo = ""; //有信息栏目的ID集合

private static String infoEachNum = ""; //有信息栏目的信息数

private static int totalPage = 0; //xml个数

private static int totalNum = 0; //信息总数

private static int eachPage = 500; //每个xml的信息条数

private static int xmlIndex = 0; //xml计数

private static int beginIndex = 0; //开始写的信息index 

private static int endIndex = 0; //结束信息index

private static String addpath = "";

private static String path = "";

private static String areaiiid = "";

private static String areannname = "";

public static void writexml() {

String bumencataSql = "select a.i_id,a.vc_webname from jcms_webinfomation a where a.i_id=3";

String bumencataSqlData[][] = Manager.doQuery(strAppID, bumencataSql);

if (bumencataSqlData != null && bumencataSqlData.length > 0) {

for (int ccc = 0; ccc < bumencataSqlData.length; ccc++) {

basicPath = "E://a//b//" + bumencataSqlData[ccc][1] + bumencataSqlData[ccc][0]

+ "//";

areaiiid = bumencataSqlData[ccc][0];

areannname = bumencataSqlData[ccc][1];

String cataSql = "SELECT a.i_id,a.vc_cataname from jcms_cataloginfo a where a.i_parentid in "

+ "(SELECT b.i_id from jcms_cataloginfo b where b.i_webid = "

+ bumencataSqlData[ccc][0]

+ " and b.vc_cataname='信息公开') "

+ "or a.i_id in (SELECT b.i_id from jcms_cataloginfo b where b.i_webid = "

+ bumencataSqlData[ccc][0] + " and b.vc_cataname='信息公开')";

String cataSqlData[][] = Manager.doQuery(strAppID, cataSql);

System.out.println("---------------cataSqlData[][]-----------------:"

+ Arrays.deepToString(cataSqlData));

if (cataSqlData != null && cataSqlData.length > 0) {

for (int c = 0; c < cataSqlData.length; c++) {

String infoSql = "select "

+ "a.vc_title,a.vc_filenumber,a.vc_fbjg,a.C_COMPLATEDATE,a.C_COMPLATEDATE,"

+ "'',a.vc_thdtitle,'','','',"

+ "a.C_CREATEDATE,a.vc_content,a.VC_EDITOR,a.VC_KEYWORD,a.VC_AUTHOR,"

+ "a.VC_SOURCE,a.VC_DESCRIBE,a.VC_EDITOR,a.VC_AUDITOR,a.VC_HREF,"

+ "'','',a.VC_MEMO,'','','',''"

+ " from jcms_info a where a.B_DELETE = '0' and b_xxgk = 1 and a.I_CATAID = '"

+ cataSqlData[c][0] + "'";

System.out.println("---------------infoSql-----------------:" + infoSql);

String[][] strDatas = Manager.doQuery(strAppID, infoSql);

if (strDatas == null || strDatas.length == 0) {

continue;

}

System.out.println("**************infoSql**********" + infoSql);

System.out.println(cataSqlData[c][1] + ",开始导出,一共有" + strDatas.length

+ "条信息!");

infoCount += strDatas.length;

cataCount++;

//组织一下path

//cataSqlData[c][1]=cataSqlData[c][1].trim().replace("?","?").replace(" > ",">").replace("*","×");

String catapath = getPath(cataSqlData[c][0]);

System.out.println("-------------------catapath:" + catapath);

path = basicPath + catapath;

//循环处理内容部分

for (int i = 0; i < strDatas.length; i++) {

String path1 = "";

if (strDatas[i][11] != null && strDatas[i][11].length() > 0) {

String url = Convert.getValue(strDatas[i][11]);

String id1 = url.substring(0);

String id2 = "";

String id3 = "";

String id4 = "";

String id5 = "";

id2 = id1.substring(0, 4);

System.out.println("====id2====:" + id2);

id3 = id1.substring(5, 7);

System.out.println("======id3=========:" + id3);

if (!id3.matches("[0-9]+")) {

id3 = id1.substring(5, 8);

if (!id3.equals("zip")) {

id3 = id1.substring(5, 10);

id5 = strDatas[i][11].substring(11);

System.out.println("id31:" + id3);

} else {

id5 = strDatas[i][11].substring(9);

}

System.out.println("====id51====:" + id5);

path1 = "E:/work/123/web3/info/" + id2 + "/" + id3 + "/" + id5;

System.out.println("1-path1:" + path1);

} else {

id5 = strDatas[i][11].substring(11);

System.out.println("====id52====:" + id5);

id4 = id1.substring(8, 10);

System.out.println("====id42====:" + id4);

path1 = "E:/work/123/web3/info/" + id2 + "/" + id3 + "/" + id4

+ "/" + id5;

System.out.println("2-path1:" + path1);

}

strDatas[i][11] = getContent("3", strDatas[i][0], path1);

if (strDatas[i][11] != null && strDatas[i][11].length() > 0) {

strDatas[i][11] = strDatas[i][11]

.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")

.replaceAll("“", "&ldquo;").replaceAll("”", "&rdquo;")

.replaceAll("'", "&quot;").replaceAll("\"", "&quot;")

.replaceAll("…", "&hellip;").replaceAll("—", "&mdash;")

.replaceAll("‘", "&lsquo;").replaceAll("’", "&rsquo;")

.replaceAll("‰", "&permil;")

.replaceAll("·", "&middot;")

.replaceAll("……", "&hellip;&hellip;")

.replaceAll("&", "&amp;").replaceAll("<", "&lt;")

.replaceAll(">", "&gt;")

.replaceAll("&amp;quot;", "&quot;")

;

} else {

try {

String tpath = basicPath;

//写文件

Convert.createDirectory(tpath);

String filePat = tpath + "webID" + strDatas[i][10] + ".txt";

c1.writeByteStream(filePat, "".getBytes());

FileOutputStream fos = new FileOutputStream(filePat, true);

Writer writer = new OutputStreamWriter(fos, "gb2312");

String sb = "标题:" + strDatas[i][0] + ",路径:"

+ path1.replace("E:/a1/a2/", "") + ",没有正文!!!!"

+ "\n";

writer.write(sb.toString());

writer.flush();

writer.close();

} catch (Exception e) {

e.printStackTrace();

}

continue;

}

} else {

continue;

}

if (strDatas[i][6] != null && strDatas[i][6].length() > 0) {

String contentXmlPath = "E:/zhoufei/infoweb" + strDatas[i][6]

+ "/infoweb" + strDatas[i][6] + "/" + strDatas[i][6];

System.out.println("-------------------contentXmlPath"

+ contentXmlPath);

File file1111 = new File(contentXmlPath);

if (file1111.isFile() && file1111.exists()) {

try {

InputStreamReader inputstreamreader = new InputStreamReader(

new FileInputStream(file1111), "UTF-8");

String xmlContent = IOUtils.toString(inputstreamreader);

int startIndex = xmlContent.indexOf("<content>");

int endIndex = xmlContent.indexOf("</content>");

xmlContent = xmlContent.substring(startIndex + 9, endIndex);

strDatas[i][6] = xmlContent;

} catch (Exception ex) {

ex.getMessage();

}

}

}

if (strDatas[i][6] != null && strDatas[i][6].length() > 0) {

strDatas[i][6] = strDatas[i][6]

.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")

.replace("\"", "'").replace("&", "&amp;")

.replace("<", "&lt;").replace(">", "&gt;")

.replace("'", "&apos;").replace("\"", "&quot;")

.replaceAll("&amp;quot;", "&quot;")

;

}

if (strDatas[i][8] != null && strDatas[i][8].length() > 0) {

strDatas[i][8] = strDatas[i][8]

.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")

.replace("\"", "'").replace("&", "&amp;")

.replace("<", "&lt;").replace(">", "&gt;")

.replace("'", "&apos;").replace("\"", "&quot;")

.replaceAll("&amp;quot;", "&quot;")

;

}

if (strDatas[i][0] != null && strDatas[i][0].length() > 0) {

strDatas[i][0] = strDatas[i][0]

.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")

.replace("\"", "'").replace("&", "&amp;")

.replace("<", "&lt;").replace(">", "&gt;")

.replace("'", "&apos;").replace("\"", "&quot;")

.replaceAll("&amp;quot;", "&quot;")

;

}

}

totalNum = strDatas.length;

System.out.println("totalNum=" + totalNum);

if (totalNum % eachPage == 0) {

totalPage = totalNum / eachPage;

} else {

totalPage = totalNum / eachPage + 1;

}

try {

for (xmlIndex = 0; xmlIndex < totalPage; xmlIndex++) {

beginIndex = xmlIndex * eachPage;

endIndex = (xmlIndex + 1) * eachPage > strDatas.length ? strDatas.length

: (xmlIndex + 1) * eachPage;

System.out.println("beginIndex=" + beginIndex);

System.out.println("endIndex=" + endIndex);

StringBuffer sb = new StringBuffer();

sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "\r\n");

sb.append("<book>" + "\r\n");

sb.append("    <edition>1.0</edition>" + "\r\n"

+ "    <copyright>大汉网络</copyright>" + "\r\n");

for (int ii = beginIndex; ii < endIndex; ii++) {

sb.append("    <article>" + "\r\n");

for (int j = 0; j < colsname.length; j++) {

if (strDatas[ii][j] != null && strDatas[ii][j].length() > 0) {

sb.append("        <field " + "vc_name=\""

+ Convert.getValue(colsname[j] + "\"")

+ " vc_value=\""

+ Convert.getValue(strDatas[ii][j] + "\"")

+ ">");

sb.append("</" + "field" + ">" + "\r\n");

} else {

sb.append("        <field " + "vc_name=\""

+ Convert.getValue(colsname[j] + "\"")

+ " vc_value=\"\"" + ">");

sb.append("</" + "field" + ">" + "\r\n");

}

}

sb.append("    </article>" + "\r\n");

}

sb.append("</book>");

//写文件

Convert.createDirectory(path);

String filePath = path + xmlIndex + ".xml";

c1.writeByteStream(filePath, "".getBytes());

FileOutputStream fos = new FileOutputStream(filePath, false);

Writer writer = new OutputStreamWriter(fos, "UTF-8");

writer.write(sb.toString());

sb.delete(0, sb.length());

writer.flush();

writer.close();

}

} catch (Exception e) {

e.printStackTrace();

}

//}

}

}

System.out.println("==============一共导出" + cataCount + "个栏目==================");

System.out.println("==============一共" + infoCount + "条信息==================");

System.out.println(cataInfo);

System.out.println(infoEachNum);

}

}

}

public static String TimeStamp2Date(String timestampString) {

Long timestamp = Long.parseLong(timestampString) * 1000;

String date = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

.format(new java.util.Date(timestamp));

return date;

}

public static String getPath(String cataId) {

System.out.println("cataId:" + cataId);

String path = "";

//一级栏目

String sql1 = "SELECT i_id,vc_cataname from jcms_cataloginfo  where vc_cataname = '信息公开'";

String[][] cata1 = Manager.doQuery(strAppID, sql1);

for (int m1 = 0; m1 < cata1.length; m1++) {

if (cataId.equals(cata1[m1][0])) {

path = cata1[m1][1] + cata1[m1][0] + "/";

System.out.println("path1:" + path);

return path;

} else {

//二级栏目

String sql2 = "SELECT i_id,vc_cataname from jcms_cataloginfo where I_PARENTID ='"

+ cata1[m1][0] + "'";

String[][] cata2 = Manager.doQuery(strAppID, sql2);

for (int m2 = 0; m2 < cata2.length; m2++) {

if (cataId.equals(cata2[m2][0])) {

path = cata1[m1][1] + cata1[m1][0] + "/" + cata2[m2][1] + cata2[m2][0]

+ "/";

System.out.println("path2:" + path);

return path;

} else {

//三级栏目

String sql3 = "SELECT i_id,vc_cataname from jcms_cataloginfo where I_PARENTID ='"

+ cata2[m2][0] + "'";

String[][] cata3 = Manager.doQuery(strAppID, sql3);

for (int m3 = 0; m3 < cata3.length; m3++) {

if (cataId.equals(cata3[m3][0])) {

path = cata1[m1][1] + cata1[m1][0] + "/" + cata2[m2][1]

+ cata2[m2][0] + "/" + cata3[m3][1] + cata3[m3][0] + "/";

System.out.println("path3:" + path);

return path;

} else {

//四级栏目

String sql4 = "SELECT i_id,vc_cataname from jcms_cataloginfo where I_PARENTID ='"

+ cata3[m3][0] + "'";

String[][] cata4 = Manager.doQuery(strAppID, sql4);

for (int m4 = 0; m4 < cata4.length; m4++) {

if (cataId.equals(cata4[m4][0])) {

path = cata1[m1][1] + cata1[m1][0] + "/" + cata2[m2][1]

+ cata2[m2][0] + "/" + cata3[m3][1] + cata3[m3][0]

+ "/" + cata4[m4][1] + cata4[m4][0] + "/";

System.out.println("path4:" + path);

return path;

} else {

String sql5 = "SELECT i_id,vc_cataname from jcms_cataloginfo where I_PARENTID='"

+ cata4[m4][0] + "'";

String[][] cata5 = Manager.doQuery(strAppID, sql5);

for (int m5 = 0; m5 < cata5.length; m5++) {

if (cataId.equals(cata5[m5][0])) {

path = cata1[m1][1] + cata1[m1][0] + "/"

+ cata2[m2][1] + cata2[m2][0] + "/"

+ cata3[m3][1] + cata3[m3][0] + "/"

+ cata4[m4][1] + cata4[m4][0] + "/"

+ cata5[m5][1] + cata5[m5][0] + "/";

System.out.println("path5:" + path);

return path;

} else {

String sql6 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"

+ cata5[m5][0] + "'";

String[][] cata6 = Manager.doQuery(strAppID, sql6);

for (int m6 = 0; m6 < cata6.length; m6++) {

if (cataId.equals(cata6[m6][0])) {

path = cata1[m1][1] + cata1[m1][0] + "/"

+ cata2[m2][1] + cata2[m2][0] + "/"

+ cata3[m3][1] + cata3[m3][0] + "/"

+ cata4[m4][1] + cata4[m4][0] + "/"

+ cata5[m5][1] + cata5[m5][0] + "/"

+ cata6[m6][1] + cata6[m6][0] + "/";

System.out.println("path6:" + path);

return path;

} else {

String sql7 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"

+ cata6[m6][0] + "'";

String[][] cata7 = Manager.doQuery(

strAppID, sql7);

for (int m7 = 0; m7 < cata7.length; m7++) {

if (cataId.equals(cata7[m7][0])) {

path = cata1[m1][1] + cata1[m1][0]

+ "/" + cata2[m2][1] + "/"

+ cata3[m3][1] + "/"

+ cata4[m4][1] + "/"

+ cata5[m5][1] + "/"

+ cata6[m6][1] + "/"

+ cata7[m7][1] + "/";

System.out.println("path7:" + path);

return path;

} else {

String sql8 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"

+ cata7[m7][0] + "'";

String[][] cata8 = Manager.doQuery(

strAppID, sql8);

for (int m8 = 0; m8 < cata8.length; m8++) {

if (cataId.equals(cata8[m8][0])) {

path = cata1[m1][1]

+ cata1[m1][0]

+ "/"

+ cata2[m2][1]

+ "/"

+ cata3[m3][1]

+ "/"

+ cata4[m4][1]

+ "/"

+ cata5[m5][1]

+ "/"

+ cata6[m6][1]

+ "/"

+ cata7[m7][1]

+ "/"

+ cata8[m8][1]

+ "/";

System.out.println("path8:"

+ path);

return path;

} else {

String sql9 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"

+ cata8[m8][0]

+ "'";

String[][] cata9 = Manager

.doQuery(strAppID,

sql9);

for (int m9 = 0; m9 < cata9.length; m9++) {

if (cataId

.equals(cata9[m9][0])) {

path = cata1[m1][1]

+ cata1[m1][0]

+ "/"

+ cata2[m2][1]

+ "/"

+ cata3[m3][1]

+ "/"

+ cata4[m4][1]

+ "/"

+ cata5[m5][1]

+ "/"

+ cata6[m6][1]

+ "/"

+ cata7[m7][1]

+ "/"

+ cata8[m8][1]

+ "/"

+ cata9[m9][1]

+ "/";

System.out

.println("path9:"

+ path);

return path;

} else {

String sql10 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"

+ cata9[m9][0]

+ "'";

String[][] cata10 = Manager

.doQuery(

strAppID,

sql10);

for (int m10 = 0; m10 < cata10.length; m10++) {

if (cataId

.equals(cata10[m10][0])) {

path = cata1[m1][1]

+ "/"

+ cata2[m2][1]

+ "/"

+ cata3[m3][1]

+ "/"

+ cata4[m4][1]

+ "/"

+ cata5[m5][1]

+ "/"

+ cata6[m6][1]

+ "/"

+ cata7[m7][1]

+ "/"

+ cata8[m8][1]

+ "/"

+ cata9[m9][1]

+ "/"

+ cata10[m10][1]

+ "/";

System.out

.println("path10:"

+ path);

return path;

} else {

return "加栏目/";

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

}

return path;

}

public static String getContent(String webid, String bt, String url) {

String content = "";

File file = new File(url);

if (file.isFile() && file.exists()) {

try {

InputStreamReader reader = new InputStreamReader(new FileInputStream(file), "UTF-8");

BufferedReader read = new BufferedReader(reader);

int index = -1;

while ((index = read.read()) != -1) {

content += (char) index;

}

read.close();

reader.close();

} catch (Exception ex) {

ex.getMessage();

}

} else {

try {

String tpath = basicPath;

//写文件

Convert.createDirectory(tpath);

String filePat = tpath + "webID" + webid + ".txt";

c1.writeByteStream(filePat, "".getBytes());

FileOutputStream fos = new FileOutputStream(filePat, true);

Writer writer = new OutputStreamWriter(fos, "gb2312");

String sb = "标题:" + bt + ",路径:" + url.replace("E:/work/常德市子站/", "") + ",文件不存在!!!!!"

+ "\n";

writer.write(sb.toString());

writer.flush();

writer.close();

} catch (Exception e) {

e.printStackTrace();

}

System.out.println("文件不存在!!!!!");

}

if (content != null && content.length() > 0 && content.indexOf("<![CDATA[<content>") != -1

&& content.indexOf("</content>]]>") != -1) {

String start = "<![CDATA[<content>";

String end = "</content>]]>";

content = content.substring(content.indexOf(start) + start.length(),

content.indexOf(end));

}

return content;

}%>