如何把html转换为js文件,Html2Js--Html代码到Javascript文件的转换
之前在网上有一些现成的转换工具的,不过有些是Javascript,只限于Web环境下使用,有些是本地程序,但是没有编码的选项,只是单纯的提供输入及输出,工作的时候需要处理些特殊编码的文件的时候就没法子了。没办法,只有自已写一个转换工具,满足自已的需要。因为时间关系,暂时写了一个在控制台下运行的程序,谁有兴趣,帮忙做个界面出来也不错。呵,下面是所有代码。可惜,我机子上没用Java2Html的插件,要不代码就没这么难看了。。。不过将就下了。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.nio.charset.Charset;
public class Html2Js {
private String source;
private String dist;
private String encoding;
public static String html2js(String html) {
StringBuffer sb = new StringBuffer(html);
StringBuffer js = new StringBuffer();
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '"') {
sb.replace(i, i, "//");
i++;
}
}
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '/n') {
sb.replace(i, i, "/"+");
i = i + 2;
}
}
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '/n') {
sb.replace(i + 1, i + 1, "/"");
i = i + 2;
}
}
js.append("document.write(/"");
js.append(sb);
js.append("/");");
return js.toString();
}
public static void main(String[] arg) {
if (arg.length == 0) {
System.out
.println("useage: java Html2Js [distPath] [encoding]/n"
+ " -sourcePath: specify your source HTML file/n"
+ " -distPath: specify your expect path of the file generate by program,defaul the same as sourcePath/n"
+ " -encoding: specify the encoding of the source file,the output use the same encoding,if not specify,use the system file encoding");
return;
}
// prepare
Html2Js tool = new Html2Js();
tool.source = arg[0];
if (arg.length > 1)
tool.dist = arg[1];
else
tool.dist = tool.source.substring(0, tool.source.lastIndexOf('.'))
+ ".js";
if (arg.length > 2)
tool.encoding = arg[2];
else
tool.encoding = System.getProperty("file.encoding");
// read the source
try {
String html = tool.getSource().replaceAll("/r", "");
tool.genFile(tool.dist, html2js(html), tool.encoding);
System.out.println("html2js finish!");
} catch (FileNotFoundException e) {
System.err.println("Fatal error! source file : " + tool.source
+ "not found!");
throw new RuntimeException(e.getMessage());
} catch (IOException e) {
System.err.println("Fatal error!");
throw new RuntimeException(e.getMessage());
}
}
/**
* 从源文件读进文本
*
* @throws IOException
*/
public String getSource() throws IOException {
StringBuffer sb = new StringBuffer();
Reader reader = new InputStreamReader(new FileInputStream(source),
Charset.forName(encoding));
int read = 0;
char[] data = new char[1024];
while ((read = reader.read(data, 0, 1024)) != -1) {
sb.append(data, 0, read);
}
return sb.toString();
}
public void genFile(String fullFileName, String body, String encoding)
throws IOException {
File file = new File(fullFileName);
FileOutputStream fos = null;
fos = new FileOutputStream(file);
OutputStreamWriter writer = new OutputStreamWriter(fos, Charset
.forName(encoding));
if (body != null && !"".equals(body)) {
writer.write(body);
writer.close();
}
}
public void setDist(String dist) {
this.dist = dist;
}
public void setEncoding(String encoding) { this.encoding = encoding; } public void setSource(String source) { this.source = source; }}
如何把html转换为js文件,Html2Js--Html代码到Javascript文件的转换相关推荐
- php处理html5文件上传代码,HTML5中文件上传的代码
这篇文章给大家分享的内容是关于HTML5中文件上传的代码,有一定的参考价值,有需要的朋友可以从参考一下,希望对你有所帮助.XHR2上传二进制文件 html代码: javascript代码:functi ...
- php多个文件上传代码,PHP单文件上传类或多文件上传类源码
以下为引用的内容: php文件: 代码: //如果收到表单传来的参数,则进行上传处理,否则显示表单 if(isset($_FILES['uploadinput'])){ //建目录函数,其中参数$di ...
- php批量上传代码,文件批量上传_php文件上传代码(支持文件批量上传)
摘要 腾兴网为您分享:php文件上传代码(支持文件批量上传),雨课堂版,洋游码头,学堂里,小度等软件知识,以及电脑硬件温度检测软件,日事清app,lol韩服语音包,绝地求生无后座力设置,金山u盘卫士, ...
- python写excel文件出错_Python代码导致excel文件损坏。如何纠正这一点?
我正在编写一个代码,用于将单元格从一个大的excel文件(11740行)复制到另一个大excel文件(78472行).两个文件都有31列.当我运行下面的代码时,它会抛出错误,有时是内存错误,有时是权限 ...
- java 移动文件夹_java代码实现移动文件以及文件夹
//文件原地址 File oldFile = new File("c:/test.xls"); //文件新(目标)地址 String newPath = "c:/test ...
- 【Android 性能优化】应用启动优化 ( Trace 文件分析 | 结合代码分析 Trace 文件 )
文章目录 一. Trace 文件查看 二. 结合代码分析 Trace 文件 一. Trace 文件查看 上一篇博客 [Android 性能优化]应用启动优化 ( 方法追踪代码模板 | 示例项目 | S ...
- php文件上传代码_PHP实现文件分片上传的实例代码
PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...
- 服务器设置文件夹权限代码,服务器设置文件夹权限
服务器设置文件夹权限 内容精选 换一换 媒资管理中显示的音视频文件同音视频管理中是一致的,除了有音视频管理页面的相关功能,您还可以在媒资管理中创建图片组并上传图片,以及创建文件夹.媒资管理暂只支持&q ...
- tif文件转为shp文件_从Tif文件转为shp文件(ArcMap,代码)、gdal打包问题
从Tif文件转为shp文件(ArcMap,代码) 利用ArcMap来进行转换,以预测出来的滨海湿地图像为例 第一步:打开ArcMap中的栅格转面工具 ArcMap中的栅格转面工具 点击栅格转面之后,选 ...
最新文章
- Android开发中Handler的经典总结
- 类oracle数据库pss,Oracle笔记
- 【docker redis】Could not connect to Redis No route to host
- php+mysql分库分表的哈希(hash)算法
- 【Java】不需要正则表达式,提取字符串中的所有汉字、数字、字母
- 普通二本的辛酸Android面试之路,算法太TM重要了
- 如何给网站制作一个favicon.ico图标
- oracle java 映射_java程序访问映射后的oracle
- 深入浅出统计学(中文版)统计学其实没那么死板!
- nginx源码安装教程
- C++实现的基于αβ剪枝算法五子棋设计
- Python requests常用的浏览器头部
- 基于深度学习的帧内预测技术
- [译] 为什么加密货币泡沫会破裂?
- 家庭生活保养保洁大全(化学保洁)
- 等你来战 | 第五届“强网”拟态防御国际精英挑战赛报名开启!
- 安卓模拟器配置全局代理
- java常见的hash算法_常见的哈希算法和用途
- 如何当好硬软件助理工程师——实习周报(一)
- 计算机网络员考试试题及答案,2013年软考网络管理员考前测试题及答案(10)
热门文章
- FreeMarker MyEclipse IDE
- 得到本机或者网络上共享打印机的状态和打印任务
- windows phone 中ListBox采用多模板
- WP7 Tip:改变启动页
- (转载)使用 Anthem.NET 的常见回调(Callback)处理方式小结
- 49 -算法 -LeetCode 107 107. 二叉树的层序遍历 II 栈队列vector
- 系统下装软件_DCS系统的日常保养工作怎么做
- 十大经典排序算法5(Python版本)
- svr预测出来是一条直线_不看错过好几亿!5分钟学会用Python预测美股价格
- sql 单引号_三种数据库的 SQL 注入详解