
一、java操作word 的有哪几种方式
java读取word文档时,虽然网上介绍了很多插件poi、java2Word、jacob、itext等等,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定,做项目不太敢用);java2Word、jacob容易报错找不到注册,比较诡异,我曾经在不同的机器上试过,操作方法完全一致,有的机器不报错,有的报错,去他们论坛找高人解决也说不出原因,项目部署用它有点玄;itxt好像写很方便但是我查了好久资料没有见到过关于读的好办法。
经过一番选择还是折中点采用rtf最好,毕竟rtf是开源格式,不需要借助任何插件,只需基本IO操作外加编码转换即可。rtf格式文件表面看来和doc没啥区别,都可以用word打开,各种格式都可以设定。
----- 实现的功能:读取rtf模板内容(格式和文本内容),替换变化部分,形成新的rtf文档。----- 实现思路:模板中固定部分手动输入,变化的部分用$info$表示,只需替换$info$即可。
1、采用字节的形式读取rtf模板内容2、将可变的内容字符串转为rtf编码3、替换原文中的可变部分,形成新的rtf文档主要程序如下:public String bin2hex(String bin) {char[] digital = "0123456789ABCDEF".toCharArray();StringBuffer sb = new StringBuffer("");byte[] bs = bin.getBytes();int bit;for (int i = 0; i < bs.length;i++)="" {bit="(bs[i]" &="" 0x0f0)="">> 4;sb.append("\\'");sb.append(digital[bit]);bit = bs[i] & 0x0f;sb.append(digital[bit]);}return sb.toString(); }public String readByteRtf(InputStream ins, String path){ String sourcecontent =""; try{ ins = newFileInputStream(path); byte[] b= new byte[1024];if (ins == null) {System.out.println("源模板文件不存在");}int bytesRead = 0;while (true) {bytesRead = ins.read(b, 0, 1024); // return final read bytescountsif(bytesRead == -1) {// end of InputStreamSystem.out.println("读取模板文件结束");break;}sourcecontent += new String(b, 0, bytesRead); // convert to stringusing bytes} }catch(Exception e){ e.printStackTrace(); }。
二、JAVA如何自动生成你的程序开发文档
项目到了尾声,大家都开始头疼——又要写文档了……是的,我们大多数人都不是从正规的Programer训练出来的。
当初学习编程序的时候,就从来没有想过要给自己写的那几个程序编写一份完整的文档,所有的注释都仅仅是为了自己当时能够想起这段代码到底是干什么的,没有人想过这些代码的升级、共享问题。 但是,开始做商业软件之后,一切都变了,尤其是大型的团队开发项目中。
大家也许注意到了,java的API文档总是紧紧跟随着JSDK的版本的提高而保持着最新的状态。试想一下,手工维护这么复杂的文档可能吗?当然不可能,这一切都是javadoc这个小程序的功劳(当然也有java类库作者们做程序注释的一份功劳)。
API文档就是用它根据最新的源代码自动生成的,一切都是这么容易——只需要你把本来就要写的注释写得更规范一些,再稍微详细一些。然而,大家似乎好像根本就没有意识到它的存在,很少有人会用它来为自己的程序生成文档。
不知道,你现在是否对它有了兴趣?好吧,下面我们就开始这个令人轻松的自动文档生成之旅。 【如何插入注释】 JAVADOC为你生成代码不是凭空来的,也不是它会自动分析你的代码——每个人都有自己的代码风格,如果要进行分析翻译恐怕还是机器码更容易生成百倍。
它的分析机制依赖于你按照规范为你的代码添加应有而足够的注释。 只有你老老实实写注释,才有可能把以前需要做双份的工作一次做了。
Javadoc工具可以从下列对象中提取出信息: · 包。 · 公共类。
· 公共接口。 · 公共或者受保护的方法。
· 公共或者受保护的变量/常数。 针对每一种特性,你都应该提供一条注释。
每一条注释都要以/**打头,以*/结尾。在每条/** …… */文档注释可包括任意格式的文字。
,它的第一个句子应该是一个总结性的语句,javadoc会自动把它提出来制作总结页。当然,这里你完全可以使用一些HTML的记号,例如。
。
表示斜体;。
。表示等宽的“打印机”字体;。
表示粗体;甚至用包括一副图象等等。 。
三、Java类型转换是什么呢
类型转换的意义: MVC框架,属于表现层的解决方案。
负责收集用户请求的参数,并将参数传给控制器组件 但所有的请求参数都是字符串类型,而java 为强类型语言 struts2的内建类型转换器 局部类型转换器: 在Action范围内使用 定义文件 ActionName-conversion。 properties 位置:放置Action 类同目录下 内容: propertyName = 类型转换器 仅仅对某个Action 的属性起作用 properyName:Action类中要进行数据转换的属性名。
类型转换器:负责转换的类(全类名) 全局类型转换器: 在全局类型内使用 定义文件:xwork-conversion。 propertes 位置:src 目录下 内容: propertyName = 类型转换器 对所有Action的特定类型的属性都会生效 propertyName:Action类中要进行数据转换的属性名。
(全类名) 类型转换器:负责转换的类(全类名) 类型转换的错误处理: conversionError拦截器 Struts2的类型转换器执行转换过程中出现错误,conversionError拦截器负责将错误封装成fileError,并将错误信息放入ActionContext中,并且返回input逻辑视图 显示的错误信息: Invalid field value for field “user。 age”; 处理显示的错误信息: 使用国际化资源文件 Xwork。
default。invalid。
fieldvalue={0}字段类型转换失败! user。age字段类型转换失败! Jsp代码 Properties代码 java。
util。Date=org。
cric。convertor。
DateConverter Java代码 package org。cric。
convertor; import java。text。
SimpleDateFormat; import java。 util。
Calendar; import java。util。
Date; import java。util。
Map; import org。apache。
struts2。util。
StrutsTypeConverter; public class DateConverter extends StrutsTypeConverter { public Object convertFromString(Map context, String[] values, Class toClass) { String[] strArray=values[0]。 split(","); Calendar calendar = Calendar。
getInstance(); calendar。set(Calendar。
YEAR,Integer。parseInt(strArray[0])); calendar。
set(Calendar。MONTH,Integer。
parseInt(strArray[1])-1); calendar。set(Calendar。
DAY_OF_MONTH, Integer。parseInt(strArray[2])); Date date = calendar。
getTime(); return date; } public String convertToString(Map context, Object object) { if(null!=object){ Date date = (Date)object; SimpleDateFormat formater = new SimpleDateFormat("yyyy,MM,dd"); return formater。 format(date); } return null; } } Jsp代码 创建时间:。
四、Java程序把Word文档直接换成Html文件方法是什么呢
acob是Java和Windows下的Com桥,通过它我们可以在Java程序中调用COM组件。
如果你的JDK是1。4,那你需要下载Jacob 1。
9的jni库才能正常运行,早期版本在JDK 1。4下有些问题。
以下是引用片段:package com;/*** 〈p〉Title:Word文档转html类〈/p〉* 〈p〉Description: 〈/p〉* 〈p〉Copyright:() 2002〈/p〉* @author 舵手* @version 1。 0*/import com。
jacob。com。
*;import com。jacob。
activeX。*;public class WordtoHtml {/***文档转换函数*@param docfile word文档的绝对路径加文件名(包含扩展名)*@param htmlfile 转换后的html文件绝对路径和文件名(不含扩展名)*/public static void change(String docfile, String htmlfile) {ActiveXComponent app = new ActiveXComponent("Word。
Application"); // 启动wordtry {app。setProperty("Visible", new Variant(false));//设置word不可见Object docs = app。
getProperty("Documents")。 toDispatch();Object doc = Dispatch。
invoke(docs,"Open",Dispatch。Method,new Object[]{ docfile, new Variant(false),new Variant(true) }, new int[1])。
toDispatch();// 打开word文件Dispatch。invoke(doc, "SaveAs", Dispatch。
Method, new Object[] {htmlfile,new Variant (8) }, new int[1]);// 作为html格式保存到临时文件Variant f = new Variant(false);Dispatch。 call(doc, "Close", f);} catch (Exception e) {e。
printStackTrace();} finally {app。invoke("Quit", new Variant[]{});}}public static void main(String[] strs){WordtoHtml。
change("c:\\a\\运输管理调度系统总体方案。doc", "c:\\a\\t");}}。
五、怎样编写一个最简单的java程序
下下来,是不是exe文件 ,还是一个文件夹呢,
你得配置一下你的系统变量
在我的电脑右击属性,打开高级,在里面有一个变量 ,打开,在上面添加一个 名为PATH 值为,你安装的那个目录,下的bin 如: C:\java\bin 这样就可以用了
打开记事本,在里面输入:
public class HellowWord{
public static void main(String[]args){
System.out.println("HellowWord!");
}
保存为 HellowWord.java文件 文件名一定要和类名一样
进入Dos 中,并进入到这个文件 的目录
在里面输入: javac HellowWord.java
没有问题的情况下
再次输入: java HellowWord
就OK了
}
转载请注明出处51数据库 » word的工具类java
此号被社byV先森