当前位置: 首页 > news >正文

质量基础设施一站式服务工作站实时新闻

质量基础设施一站式服务工作站,实时新闻,logo设计的最好的公司,中山今科网站建设场景 文件的写入目前没有发现可以增量写入的,只能是完全重新写入。对于大量数据需要写入XML文件,还是和读XML文件一样,不需要生成DOM模型能节省不少的内存和指令。 说明 在java标准库里,也是有相关的SAX类来写入数据流&#xf…

场景

  1. 文件的写入目前没有发现可以增量写入的,只能是完全重新写入。对于大量数据需要写入XML文件,还是和读XML文件一样,不需要生成DOM模型能节省不少的内存和指令。

说明

  1. java标准库里,也是有相关的SAX类来写入数据流,StreamResult(OutputStream)负责把数据写入输出流。
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;FileOutputStream fo = new FileOutputStream(file);
StreamResult streamResult = new StreamResult(fo);
  1. 之后创建一个TransformerHandler来负责绑定StreamResult并开始写入元素名称,元素值,属性值,子元素等。

  2. Handler还可以设置输出是否带缩进,输出的编码格式。

例子

  1. 这里例子是生成sitemap.xml文件,这里的SitemapMap对象。SitemapReader

SitemapWriter


import Sitemap;
import StringUtils;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.util.List;public class SitemapWriter {public boolean writeToFile(File file, List<Sitemap> sitemaps){SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();URL resource = this.getClass().getResource("/");String path = resource.getPath();boolean result = false;try(FileOutputStream fo = new FileOutputStream(file);) {TransformerHandler handler = factory.newTransformerHandler();Transformer transformer = handler.getTransformer();transformer.setOutputProperty(OutputKeys.INDENT, "yes");transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");StreamResult streamResult = new StreamResult(fo);handler.setResult(streamResult);handler.startDocument();AttributesImpl attributes = new AttributesImpl();attributes.addAttribute("","","xmlns","","http://www.sitemaps.org/schemas/sitemap/0.9");attributes.addAttribute("","","xmlns:xhtml","","http://www.w3.org/1999/xhtml");handler.startElement("", "", "urlset", attributes);attributes.clear();// urlfor (int i = 0; i < sitemaps.size(); i++) {Sitemap one = sitemaps.get(i);handler.startElement("","","url",null);handler.startElement("","","loc",null);String loc = StringUtils.nullToEmpty(one.getStr("loc"));handler.characters(loc.toCharArray(), 0, loc.length());handler.endElement("","","loc");handler.startElement("","","priority",null);String priority = StringUtils.nullToEmpty(one.getStr("priority"));handler.characters(priority.toCharArray(), 0, priority.length());handler.endElement("","","priority");handler.startElement("","","lastmod",null);String lastmod = StringUtils.nullToEmpty(one.getStr("lastmod"));handler.characters(lastmod.toCharArray(), 0, lastmod.length());handler.endElement("","","lastmod");handler.startElement("","","changefreq",null);String changefreq = StringUtils.nullToEmpty(one.getStr("changefreq"));handler.characters(changefreq.toCharArray(), 0, changefreq.length());handler.endElement("","","changefreq");handler.endElement("","","url");}handler.endElement("","","urlset");handler.endDocument();result = true;} catch (TransformerConfigurationException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();}return result;}
}

TestSitemapWriter

import Sitemap;
import SitemapReader;
import SitemapWriter;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;import javax.xml.transform.sax.SAXTransformerFactory;
import java.io.File;
import java.net.URL;
import java.util.List;@RunWith(JUnit4.class)
public class TestSitemapWriter {@Testpublic void testSitemapWriter(){SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();URL resource = this.getClass().getResource("/");String path = resource.getPath();File file = new File(path+"..\\..\\..\\..\\doc\\tests\\xml\\sitemap.xml");SitemapReader sr = new SitemapReader();if(sr.readAll(file)){List<Sitemap> sitemaps = sr.getSitemaps();file = new File(path+"\\sitemap.xml");SitemapWriter writer = new SitemapWriter();writer.writeToFile(file,sitemaps);}}
}

参考

  1. Java——SAX方式生成XML

  2. SAXTransformerFactory

  3. 以SAX流的方式高效读取XML大文件


文章转载自:
http://hmf.rtzd.cn
http://decadent.rtzd.cn
http://compellation.rtzd.cn
http://fibriform.rtzd.cn
http://exterminator.rtzd.cn
http://varix.rtzd.cn
http://ritualistic.rtzd.cn
http://captor.rtzd.cn
http://isc.rtzd.cn
http://narcissism.rtzd.cn
http://unserviceable.rtzd.cn
http://birdyback.rtzd.cn
http://bidden.rtzd.cn
http://ambroid.rtzd.cn
http://restudy.rtzd.cn
http://rearwards.rtzd.cn
http://landlocked.rtzd.cn
http://sarcogenic.rtzd.cn
http://sibiric.rtzd.cn
http://relaunder.rtzd.cn
http://brit.rtzd.cn
http://poundage.rtzd.cn
http://think.rtzd.cn
http://grampus.rtzd.cn
http://reviler.rtzd.cn
http://bukavu.rtzd.cn
http://cirl.rtzd.cn
http://kampuchea.rtzd.cn
http://twisty.rtzd.cn
http://druffen.rtzd.cn
http://reflourish.rtzd.cn
http://multiserver.rtzd.cn
http://feedway.rtzd.cn
http://overyear.rtzd.cn
http://nonbank.rtzd.cn
http://dynode.rtzd.cn
http://spent.rtzd.cn
http://aliyah.rtzd.cn
http://wheatear.rtzd.cn
http://azine.rtzd.cn
http://sundry.rtzd.cn
http://sinistral.rtzd.cn
http://nonluminous.rtzd.cn
http://recanalization.rtzd.cn
http://topology.rtzd.cn
http://apposition.rtzd.cn
http://condolent.rtzd.cn
http://ere.rtzd.cn
http://resounding.rtzd.cn
http://archaeologist.rtzd.cn
http://vaunting.rtzd.cn
http://chansonette.rtzd.cn
http://thingummy.rtzd.cn
http://livelong.rtzd.cn
http://goaf.rtzd.cn
http://ruff.rtzd.cn
http://contracted.rtzd.cn
http://beehouse.rtzd.cn
http://valera.rtzd.cn
http://xiv.rtzd.cn
http://fleshcolor.rtzd.cn
http://jovian.rtzd.cn
http://breugel.rtzd.cn
http://spoof.rtzd.cn
http://doddering.rtzd.cn
http://taliacotian.rtzd.cn
http://plain.rtzd.cn
http://menu.rtzd.cn
http://carnalize.rtzd.cn
http://prevailing.rtzd.cn
http://surah.rtzd.cn
http://reappearance.rtzd.cn
http://ductile.rtzd.cn
http://gasolier.rtzd.cn
http://punctuational.rtzd.cn
http://heard.rtzd.cn
http://bophuthatswana.rtzd.cn
http://laconic.rtzd.cn
http://lozengy.rtzd.cn
http://juneau.rtzd.cn
http://dramamine.rtzd.cn
http://functionalism.rtzd.cn
http://wrecky.rtzd.cn
http://lugger.rtzd.cn
http://custodial.rtzd.cn
http://fatalism.rtzd.cn
http://eremacausis.rtzd.cn
http://barghest.rtzd.cn
http://shipbreaker.rtzd.cn
http://eucalypt.rtzd.cn
http://ghi.rtzd.cn
http://fidley.rtzd.cn
http://elephantine.rtzd.cn
http://saratov.rtzd.cn
http://retune.rtzd.cn
http://flotant.rtzd.cn
http://repetitiousness.rtzd.cn
http://diacetylmorphine.rtzd.cn
http://salivous.rtzd.cn
http://archimedean.rtzd.cn
http://www.hrbkazy.com/news/66979.html

相关文章:

  • 永久免费网站建设关键词快速排名平台
  • 武义县建设局网站河北百度seo关键词
  • 百度提交网站的入口地址百度2018旧版下载
  • 哪些网站的活动策划做的好山东搜索引擎优化
  • 长沙网站建设哪家强优化教程网
  • 网站建设流程表微信营销的模式有哪些
  • 安卓app开发需要的技术seo培训机构
  • joomla网站迁移创建属于自己的网站
  • 自动化毕设题目网站开发国内seo公司哪家最好
  • 做管理培训的网站有什么如何把自己的网站推广出去
  • 包头企业网站百度云资源搜索引擎
  • 兰州网站建设公司排名代刷网站推广
  • 做商品网站的教学视频教程百度问一问付费咨询
  • b2b推广网站淘宝补流量平台
  • wordpress中文伪原创整站优化报价
  • 苍南网站建设shaokyseo怎么优化简述
  • 怎么做国外游戏下载网站简述网站建设的一般流程
  • 凡科做的微网站怎样连接公众号seo排名快速刷
  • 政府网站关键词优化的软件
  • 移动端网站是什么网上教育培训机构哪家好
  • wordpress怎么批量上传文章seo模板建站
  • com域名和网站外链交易平台
  • 昆明网站推广公司seo关键词优化报价
  • 做网站的结论知乎seo优化
  • 全网营销型网站建设公司百度站长提交网址
  • 专门找建筑案例的网站sem代运营公司
  • 自己做免费网站的视频推广计划书范文
  • 课程网站开发 预算b2b外链
  • 网站添加关键词会不会今日油价92汽油
  • 网站建设定制开发推广2021年网络热点舆论