之前在网上有一些现成的转换工具的,不过有些是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文件的转换相关推荐

  1. php处理html5文件上传代码,HTML5中文件上传的代码

    这篇文章给大家分享的内容是关于HTML5中文件上传的代码,有一定的参考价值,有需要的朋友可以从参考一下,希望对你有所帮助.XHR2上传二进制文件 html代码: javascript代码:functi ...

  2. php多个文件上传代码,PHP单文件上传类或多文件上传类源码

    以下为引用的内容: php文件: 代码: //如果收到表单传来的参数,则进行上传处理,否则显示表单 if(isset($_FILES['uploadinput'])){ //建目录函数,其中参数$di ...

  3. php批量上传代码,文件批量上传_php文件上传代码(支持文件批量上传)

    摘要 腾兴网为您分享:php文件上传代码(支持文件批量上传),雨课堂版,洋游码头,学堂里,小度等软件知识,以及电脑硬件温度检测软件,日事清app,lol韩服语音包,绝地求生无后座力设置,金山u盘卫士, ...

  4. python写excel文件出错_Python代码导致excel文件损坏。如何纠正这一点?

    我正在编写一个代码,用于将单元格从一个大的excel文件(11740行)复制到另一个大excel文件(78472行).两个文件都有31列.当我运行下面的代码时,它会抛出错误,有时是内存错误,有时是权限 ...

  5. java 移动文件夹_java代码实现移动文件以及文件夹

    //文件原地址 File oldFile = new File("c:/test.xls"); //文件新(目标)地址 String newPath = "c:/test ...

  6. 【Android 性能优化】应用启动优化 ( Trace 文件分析 | 结合代码分析 Trace 文件 )

    文章目录 一. Trace 文件查看 二. 结合代码分析 Trace 文件 一. Trace 文件查看 上一篇博客 [Android 性能优化]应用启动优化 ( 方法追踪代码模板 | 示例项目 | S ...

  7. php文件上传代码_PHP实现文件分片上传的实例代码

    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...

  8. 服务器设置文件夹权限代码,服务器设置文件夹权限

    服务器设置文件夹权限 内容精选 换一换 媒资管理中显示的音视频文件同音视频管理中是一致的,除了有音视频管理页面的相关功能,您还可以在媒资管理中创建图片组并上传图片,以及创建文件夹.媒资管理暂只支持&q ...

  9. tif文件转为shp文件_从Tif文件转为shp文件(ArcMap,代码)、gdal打包问题

    从Tif文件转为shp文件(ArcMap,代码) 利用ArcMap来进行转换,以预测出来的滨海湿地图像为例 第一步:打开ArcMap中的栅格转面工具 ArcMap中的栅格转面工具 点击栅格转面之后,选 ...

最新文章

  1. Android开发中Handler的经典总结
  2. 类oracle数据库pss,Oracle笔记
  3. 【docker redis】Could not connect to Redis No route to host
  4. php+mysql分库分表的哈希(hash)算法
  5. 【Java】不需要正则表达式,提取字符串中的所有汉字、数字、字母
  6. 普通二本的辛酸Android面试之路,算法太TM重要了
  7. 如何给网站制作一个favicon.ico图标
  8. oracle java 映射_java程序访问映射后的oracle
  9. 深入浅出统计学(中文版)统计学其实没那么死板!
  10. nginx源码安装教程
  11. C++实现的基于αβ剪枝算法五子棋设计
  12. Python requests常用的浏览器头部
  13. 基于深度学习的帧内预测技术
  14. [译] 为什么加密货币泡沫会破裂?
  15. 家庭生活保养保洁大全(化学保洁)
  16. 等你来战 | 第五届“强网”拟态防御国际精英挑战赛报名开启!
  17. 安卓模拟器配置全局代理
  18. java常见的hash算法_常见的哈希算法和用途
  19. 如何当好硬软件助理工程师——实习周报(一)
  20. 计算机网络员考试试题及答案,2013年软考网络管理员考前测试题及答案(10)

热门文章

  1. FreeMarker MyEclipse IDE
  2. 得到本机或者网络上共享打印机的状态和打印任务
  3. windows phone 中ListBox采用多模板
  4. WP7 Tip:改变启动页
  5. (转载)使用 Anthem.NET 的常见回调(Callback)处理方式小结
  6. 49 -算法 -LeetCode 107 107. 二叉树的层序遍历 II 栈队列vector
  7. 系统下装软件_DCS系统的日常保养工作怎么做
  8. 十大经典排序算法5(Python版本)
  9. svr预测出来是一条直线_不看错过好几亿!5分钟学会用Python预测美股价格
  10. sql 单引号_三种数据库的 SQL 注入详解