java干货——生成bookmarker书签
来源:互联网 发布:数据科学导论 编辑:程序博客网 时间:2024/05/16 08:16
1、分析bookmarker的数据结构,编写ftl
<!DOCTYPE NETSCAPE-Bookmark-file-1><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"><TITLE>Bookmarks</TITLE><H1>Bookmarks</H1><DL><p> <DT><H3 ADD_DATE="1477118590" LAST_MODIFIED="1486200186" PERSONAL_TOOLBAR_FOLDER="true">收藏栏</H3> <DL><p> <#list list as webSite> <DT><H3 ADD_DATE="1486200186" LAST_MODIFIED="1486200195">${webSite.webtype}</H3> <DL><p> <#list webSite.web as web> <DT><A HREF="${web.weburl}" ADD_DATE="1486200195" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAc0lEQVQ4jWNgGGjAiMYPJ6B+JboAC7rAy5cvV6CLiYuLR/z//38FIyMjhiFMhB2JAP///1+B7koMF/Dy8hI0BNklGAZgAxcuXFjByMgYgU2OKAPU1NQYvn37Bg8bLi4uuGEkhQE2MGoAFQzAiEbkKKILAADxTRpEuhAmjwAAAABJRU5ErkJggg==">${web.webname}</A> </#list> </DL><p></#list> </DL><p></DL><p>
2、通过java的freemark生成html
Configuration cc = new Configuration(); cc.setDirectoryForTemplateLoading(new File(TEMPLATEFILE)); Map root = new HashMap(); root.put("list", list); System.out.println("===="+list.size()); System.out.println(list.get(0).getWebtype()); Template template = cc.getTemplate(TEMPLATEFILENAME); template.setEncoding("UTF-8"); Writer out = new OutputStreamWriter(System.out,"UTF-8"); template.process(root, out); File fileDir = new File(SAVEDIR); FileUtils.forceMkdir(fileDir); File output = new File((new StringBuilder()).append(fileDir).append(SAVEFILE).toString());// Writer writer = new FileWriter(output); Writer writer = new BufferedWriter( new OutputStreamWriter(new FileOutputStream(output),"UTF-8")); template.process(root, writer); writer.close(); out.flush(); out.close();
特别注意:Writer writer = new FileWriter(output); //可能导致生成的html出现乱码
因此改为:
Writer writer = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(output),”UTF-8”));
3、生成的html
4、浏览器导入html
5、导入成功
0 0
- java干货——生成bookmarker书签
- Java多线程干货系列— volatile关键字
- java通过freemark生成通用的网页书签
- 浏览器书签的变革遐想——关系型书签
- Java多线程干货系列—(一)Java多线程基础
- js基本功—干货
- 一些干货——优秀Java程序员发福利啦!
- 干货分享—Java EE企业级应用开发技术路线图
- Java多线程干货系列—(二)synchronized
- Java多线程干货系列—(四)volatile关键字
- Java多线程干货系列—(四)volatile关键字
- mybatis小干货——自动生成uuid序号为id值
- Java相关书签
- 数据库中的书签——游标
- Android浏览器— —书签\历史
- 干货分享(GankShare)——干货集中营非官方客户端
- 干货——货币供应量
- 自己动手写AdobeReader书签插件——PDF也支持书签
- HTTP防盗链
- Java9都快发布了,Java8的十大新特性你了解多少呢?
- Java常用并发容器总结(三)
- Python笔记-list、tuple、dict、set及其比较
- 线程池 线程锁
- java干货——生成bookmarker书签
- Opencv源代码分析之(HoughLinesP)
- [LeetCode]171. Excel Sheet Column Number
- Linux基本命令的使用
- POJ 1182
- Django 生成登陆验证码
- 417.有效数字
- LabVIEW运用举例
- Mac包管理工具对比-Fink