下载 words文档 java java api文档下载
发布日期:2020-10-07摘要:JAVA 文件下载 像txt文件,但不能太大 这个你用数组做能去掉大小的弊端 但excel文件就不能保存 这个问题试试"另存为"好不好使 或者 "在新窗口打开" 再次确定下你的IE是不是集成了...
JAVA 文件下载
//像txt文件,但不能太大 这个你用数组做能去掉大小的弊端 //但excel文件就不能保存 这个问题试试"另存为"好不好使 或者 "在新窗口打开" 再次确定下你的IE是不是集成了Excel的查看功能(就是能有IE打开Excel),如果是的话 删除插件即可p.s.处理IO流时的问题....file=new File("c:\text.txt");DateInputStream dis=new DataInputStream(new FileInputStream(file));byte b[]=new byte[(int)file.length()];int i=0;while((i=(dis.read(b)))!=-1){String s=new String(b,0,i);JTextField.setText(s);dis.close();就是个例子...
word文档最新版是什么?在哪里下载啊?
5、Word等文件、插入图片、插入表格等。
填充数据到表格中读取表格数据 ,1.1版增强的功能: 指定文本样式,指定表格样式,不能设置样式。
3:Java2word是一个在java程序中调用 MS Office Word 文档的组件(类库)。
该组件提供了一组简单的接口,以便java程序调用他的服务操作Word 文档。
这些服务包括: 打开文档、新建文档。
Word从2003开始支持XML格式,大致的思路是先用office2003或者2007编辑好word的样式。
经测试这样方式生成的word文档完全符合office标准,样式。
如此,则可动态排版word文档、插入表格,在书签处插入文字,目前只能实现一些简单文件的操作,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Doc、查找文字、替换文字。
他的excel处理很强大,对于word还局限于读取、Html文件转化为PDF文件。
功能强大,但是处理样式有点缺陷,简单的导出可以使用。
6:用XML做就很简单了java导出word大致有6种解决方案:1:Jacob是Java-COM Bridge的缩写。
是一种不错的解决方案。
4:iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。
通过iText不仅可以生成PDF或rtf的文档,而且可以将XML。
使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。
DLL动态链接库的生成需要windows平台的支持。
该方案只能在windows平台实现,是其局限性。
2:Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel,该方案实现简单,它在Java与微软的COM组件之间构建一座桥梁,插入文字、插入图片:JSP输出样式...
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 > 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(); } return sourcecontent ;}以上为核心代码,剩余部分就是替换,从新组装java中的String.replace(oldstr,newstr);方法可以实现,在这就不贴了。
源代码部分详见附件。
运行源代码前提:c盘创建YQ目录,将附件中"模板.rtf"复制到YQ目录之下,运行OpreatorRTF.java文件即可,就会在YQ目录下生成文件名如:21时15分19秒_cheney_记录.rtf的文件。
package com;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Date;public class OperatorRTF {public String strToRtf(String content){char[] digital = "0123456789ABCDEF".toCharArray();StringBuffer sb = new StringBuffer("");byte[] bs = content.getBytes();int bit;for (int i = 0; i > 4;sb.append("\\"");sb.append(digital[bit]);bit = bs[i] & 0x0f;sb.append(digital[bit]);}return sb.toString();}public String replaceRTF(String content,String replacecontent,intflag){String rc = strToRtf(replacecontent);String target = "";if(flag==0){target = content.replace("$timetop$",rc);}if(flag==1){target = content.replace("$info$",rc);}if(flag==2){target = content.replace("$idea$",rc);}if(flag==3){target = content.replace("$advice$",rc);}if(flag==4){target = content.replace("$infosend$",rc);}return target;}public String getSavePath() {String path = "C:\\YQ";File fDirecotry = new File(path);if (!fDirecotry.exists()) {fDirecotry.mkdirs();}return path;}public String ToSBC(String input){char[] c =input.toCharArray();for (int i =0; i < c.length; i++){if (c[i] == 32){c[i] = (char) 12288;continue;}if (c[i] < 127){c[i] = (char) (c[i] + 65248);}}return newString(c);}public void rgModel(String username, String content) {// TODO Auto-generated method stubDate current=new Date();SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-ddHH:mm:ss");String targetname = sdf.format(current).substring(11,13) + "时";targetname += sdf.format(current).substring(14,16) + "分";targetname += sdf.format(current).substring(17,19) + "秒";targetname += "_" + username +"_记录.rtf";String strpath = getSavePath();String sourname = strpath+"\\"+"模板.rtf";String sourcecontent = "";InputStream ins = null;try{ins = new FileInputStream(sourname);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 Strin...
word文档转换为pdf格式,纯java实现,需求详细的源代码,调用软件什...
参考下面public HttpServletResponse download(String path, HttpServletResponse response) {try {// path是指欲下载的文件的路径。
File file = new File(path);// 取得文件名。
String filename = file.getName();// 取得文件的后缀名。
String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();// 以流的形式下载文件。
InputStream fis = new BufferedInputStream(new FileInputStream(path));byte[] buffer = new byte[fis.available()];fis.read(buffer);fis.close();// 清空responseresponse.reset();// 设置response的Headerresponse.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));response.addHeader("Content-Length", "" + file.length());OutputStream toClient = new BufferedOutputStream(response.getOutputStream());response.setContentType("application/octet-stream");toClient.write(buffer);toClient.flush();toClient.close();} catch (IOException ex) {ex.printStackTrace();}return response;}// 下载本地文件public void downloadLocal(HttpServletResponse response) throws FileNotFoundException {String fileName = "Operator.doc".toString(); // 文件的默认保存名// 读到流中InputStream inStream = new FileInputStream("c:/Operator.doc");// 文件的存放路径// 设置输出的格式response.reset();response.setContentType("bin");response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");// 循环取出流中的数据byte[] b = new byte[100];int len;try {while ((len = inStream.read(b)) > 0)response.getOutputStream().write(b, 0, len);inStream.close();} catch (IOException e) {e.printStackTrace();}}// 下载网络文件public void downloadNet(HttpServletResponse response) throws MalformedURLException {int bytesum = 0;int byteread = 0;URL url = new URL("windine.blogdriver.com/logo.gif");try {URLConnection conn = url.openConnection();InputStream inStream = conn.getInputStream();FileOutputStream fs = new FileOutputStream("c:/abc.gif");byte[] buffer = new byte[1204];int length;while ((byteread = inStream.read(buffer)) != -1) {bytesum += byteread;System.out.println(bytesum);fs.write(buffer, 0, byteread);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}//支持在线打开文件的一种方式public void downLoad(String filePath, HttpServletResponse response, boolean isOnLine) throws Exception {File f = new File(filePath);if (!f.exists()) {response.sendError(404, "File not found!");return;}BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));byte[] buf = new byte[1024];int len = 0;response.reset(); // 非常重要if (isOnLine) { // 在线打开方式URL u = new URL("file:///" + filePath);response.setContentType(u.openConnection().getContentType());response.setHeader("Content-Disposition", "inline; filename=" + f.getName());// 文件名应该编码成UTF-8} else { // 纯下载方式response.setContentType("application/x-msdownload");response.setHeader("Content-Disposition", "attachment; filename=" + f.getName());}OutputStream out = response.getOutputStream();while ((len = br.read(buf)) > 0)out.write(buf, 0, len);br.close();out.close();}
Java 如何读取txt文件的内容?
java读取txt文件内容。
可以作如下理解: 首先获得一个文件句柄。
File file = new File(); file即为文件句柄。
两人之间连通电话网络了。
接下来可以开始打电话了。
通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。
接下来需要解读成乙方可以理解的东西既然你使用了FileInputStream()。
那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据解读完成后要输出呀。
那当然要转换成IO可以识别的数据呀。
那就需要调用字节码读取的方法BufferedReader()。
同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。
package com.campu;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.Reader;/** * @author Java团长 * H20121012.java * 2017-10-29上午11:22:21 */public class H20121012 { /** * 功能:Java读取txt文件的内容 * 步骤:1:先获得文件句柄 * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 * 3:读取到输入流后,需要读取生成字节流 * 4:一行一行的输出。
readline()。
* 备注:需要考虑的是异常情况 * @param filePath */ public static void readTxtFile(String filePath){ try { String encoding="GBK"; File file=new File(filePath); if(file.isFile() && file.exists()){ //判断文件是否存在 InputStreamReader read = new InputStreamReader( new FileInputStream(file),encoding);//考虑到编码格式 BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; while((lineTxt = bufferedReader.readLine()) != null){ System.out.println(lineTxt); } read.close(); }else{ System.out.println("找不到指定的文件"); } } catch (Exception e) { System.out.println("读取文件内容出错"); e.printStackTrace(); } } public static void main(String argv[]){ String filePath = "L:\\Apache\\htdocs\\res\\20121012.txt";// "res/"; readTxtFile(filePath); }}我有一个微信公众号,经常会分享一些Java技术相关的干货文章,还有一些学习资源。
如果你需要的话,可以用微信搜索“Java团长”或者“javatuanzhang”关注。
如何用java将pdf文件转换成word文件
new int[1]).toDispatch(),new Object[] { filePath };MS Publisher Color Printer"/** */PDFDistiller.PDFDistiller;/是否追加打印Variant Append = False.Documents的DispatchDispatch wrdDocs = wordCom.getProperty("Documents"//));/Adobe PDF"wordCom.setProperty("ActivePrinter",返回wordDocwordDoc = Dispatch;/建立Adobe Distiller的com对象ActiveXComponent distiller = new ActiveXComponent("/作为输入的ps文档路径Variant inputPostScriptFilePath = new Variant(destinPSFilePath).Documents。
目前只使用了前5个参数, new Variant[] {Background, Append, Range;/*** * 将word文档打印为PS文件后,使用Distiller将PS文件转换为PDF文件 *** @param sourceFilePath* 源文件路径 ** @param destinPSFilePath* 首先生成的PS文件路径 ** @param destinPDFFilePath* 生成PDF文件路径*/.Variant;作为输出的pdf文档的路径Variant outputPDFFilePath = new Variant(destinPDFFilePath);//定义FileToPDF方法要使用adobe pdf设置文件的路径,在这里没有赋值表示并不使用pdf配置文件Variant PDFOption = new Variant("");//调用FileToPDF方法将ps文档转换为pdf文档Dispatch.callN(distiller, "FileToPDF", new Variant[] {inputPostScriptFilePath, outputPDFFilePath, PDFOption });System.out.println("由ps文档转换为pdf文档成功!");} catch (Exception ex) {ex.printStackTrace();} finally {closeWord();wordCom=null;//释放在程序线程中引用的其它com,比如Adobe PDFDistillerComThread.Release();}}public static void main(String[] argv) {D2P d2p = new D2P();d2p.docToPDF("d:/12.doc", "d:/1p.ps", "d:/1p.pdf");//这里是你建一个叫12.doc的word文档,生成的文档将在D盘下//1p.ps和1p.pdf(这是我们要的)}}.invoke(wrdDocs, ".invoke("Quit";设置当前使用的打印机,我的Adobe Distiller打印机名字为"/** */.1");try {///** */Open"public boolean openWord(String filePath) {///*** 关闭word文档*/public void closeWord() {///输出的postscript文件的路径Variant OutputFileName = new Variant(destinPSFilePath);public class D2P {private ActiveXComponent wordCom = null.jacob.Dispatch;import com, "PrintOut"需要用到插件jacob,自己去下载吧;//).println("打印所有文档int wdPrintAllDocument = 0;Variant Range = new Variant(wdPrintAllDocument);//*** 打开word文档** @param filePath* word文档* @return 返回word文档对象*//是否在后台运行Variant Background = False;/.out;/** *//** */import com.jacob.com.ComThread;import com。
import com.jacob.activeX.ActiveXComponent.Open方法打开指定的word文档, OutputFileName });System;Word.Application", new Variant("return true.toDispatch();//** */.com, new Variant[] {});}/** */Dispatch.callN((Dispatch) wordDoc.jacob,String destinPDFFilePath) {if (;由word文档打印为ps文档成功!");/public void docToPDF(String sourceFilePath, String destinPSFilePath;private Object wordDoc = null;/设置printout的参数,将word文档打印为postscript文档,如果要使用更多的话可以参考MSDN的office开发相关api/, Dispatch.Method,详细内容参考Distiller Api手册//返回wrdCom;private final Variant False = new Variant(false);private final Variant True = new Variant(true);建立ActiveX部件wordCom = new ActiveXComponent("!openWord(sourceFilePath)) {closeWord();return;);关闭word文件wordCom;/调用Distiller对象的FileToPDF方法所用的参数;try {/} catch (Exception ex) {ex.printStackTrace();}return false;}/** *//调用wrdCom;/** */}/.com 展开
用java打开一个word文档(a.docx) 怎么搞
\Microsoft Office\).File; import java:\\.getRuntime().exec(""C;\temp\\WINWORD.EXE aa;\the list;"package cn;Program Files\.doc\ public static void main(String[] args) { try { Runtime:\\.doc"); } catch (IOException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } } 你的WORD安装路径C;c \"C:\.exec("cmd /Program Files\\Microsoft Office\\WINWORD.EXE空格后所加的aa.doc为你的文档文件名(有文件名重复的,可以加路径,写法和安装路径的写法一样)或者用Runtime.getRuntime();\OFFICE11\ import java.io;\OFFICE11\.io.IOException; public class TT { /** * @param args */.rain.main...
用java读取office里面公式(latex的伪代码) 在java中给出latex的伪代...
早期的JavaJava的发明人詹姆斯·高斯林Duke,Java语言的吉祥物语言最开始只是Sun计算机(Sun MicroSystems)公司在1990年12月开始研究的一个内部项目。
Sun计算机公司的一个叫做帕特里克·诺顿的工程师被公司自己开发的C++和C语言编译器搞得焦头烂额。
太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象。
在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性、解释性、和多线程功能。
最后、韦恩·罗斯因和埃里克·斯库米,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。
后来Sun公司被甲骨文公司并购,而这一远景正是他们在有线电视网中看到的,高斯林试图修改和扩展C++的功能,他自己称这种新语言为C++ ++ --,但是后来他放弃了,可以用的资源极其有限。
很多成员发现C++太复杂以至很多开发者经常错误使用。
他们发现C++缺少垃圾回收系统,还有可移植的安全性、分布程序设计,Java舍弃了C++语言中容易引起错误的指针,改以引用取代、比尔·乔伊,詹姆斯·高斯林和麦克·舍林丹也加入了帕特里克的工作小组。
1996年1月,升阳公司成立了Java业务集团。
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
Java编程语言的风格十分接近C++语言,到处运行”的跨平台特性。
当使用十六进制编辑器打开由Java源代码编译出的二进制文件(.class文件)的话,因为其中的API极其难用。
帕特里克决定改用NeXT,约翰·盖吉。
升阳公司的科学指导约翰·盖吉宣告Java技术。
这个发布是与网景公司的执行副总裁马克·安德森的惊人发布一起进行的,广泛应用于企业级Web应用开发和移动应用开发。
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口取代。
由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。
最初的尝试是面向一种类PDA设备,被命名为Star7,这种设备有鲜艳的图形界面和被称为“Duke”的智能代理来帮助用户、电话、闹钟,Oak的程序设计语言,类库及其硬件。
Java和互联网1994年6月,发现C++和可用的API在某些方面存在很大问题,这在一定程度上降低了Java程序的运行效率Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象,乔伊决定开发一种集C语言和Mesa语言大成的新语言。
作为原型,帕特里克·诺顿写了一个小型万维网浏览器,WebRunner,后来改名为HotJava[12],微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。
根据可用的资金。
在早期JVM中、分布式。
工作小组使用的是嵌入式系统.4,宣布网景将在其浏览器中包含对Java的支持,瞄准下一代智能家电(如微波炉)的程序设计,Sun公司预料未来科技将在家用电器领域大显身手。
团队最初考虑使用C++语言,但是很多成员包括Sun的首席科学家比尔·乔伊。
随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景。
“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一、詹姆斯·高斯林,他们想要一种易于移植到各种设备上的平台。
现时,移动操作系统Android大部分的代码采用Java 编程语言编程。
他将要创造出一种全新的语言,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,最前面的32位将显示为CA FE BA BE,即词组“CAFE BABE”(咖啡屋宝贝)。
Java近况一套Java编辑器软件J2SE环境与CDC的关连JVM的所在角色JSPX网页的概念在流行几年之后,Java在浏览器中的地位被逐步侵蚀。
它在简单交互性动画方面的用途已经完全被Adobe公司的Flash排挤,2005年Java倾向只被用于雅虎游戏那样的更为复杂的应用程序。
Java同时遭受到来自微软的反对,他们决定在新版本的Internet Explorer和Windows中不再附带Java平台。
与此相反。
在万维网的服务器端和手持设备上,Java变得更加流行。
很多网站在后端使用JSP和其他的Java技术。
在桌面系统上,独立的Java程序还是相对少见,这是因为Java平台的运行开销较大,而许多人的电脑上没有安装Java,由于网络带宽在以前较小,下载Java曾经是个耗时的事情。
但是随着计算机计算能力、网络带宽在10年中获取了很大的进步,同时虚拟机和编译器的质量得到了提高,许多应用程序得到了广泛的使用,包括:开源软件:NetBeans和Eclipse等软件开发工具Android操作系统JEditAzureus BitTorrent客户端。
JNode操作系统Apache软件基金会的Ant、Derby、Hadoop、Jakarta、POI和TomcatJBoss和GlassFish应用服务器商业软件:EIOffice(永中Office)Minecraft纯Java 3D游戏合金战士ChromeIBM Websphere、ColdFusion和WebLogicIntelliJ IDEA还有许多用Java写的软件,可以在http://www.java.com 找到。
在以下网页可以看到非常多用Java写的程序:http://java.sun.com/products/ 下面有大量用Java Swing开发的桌...
-
给我们打电话
7*24小时服务热线:1399999999
全国客服热线:400-0000-000 -
百度地图
福建省三明市 -
给我们发邮件
E-mail:[email protected]
在线沟通