private String upload = "保存的路径";

//文件下载

public String download() {

//初始化

this.initContext();

String apath = request.getSession().getServletContext().getRealPath(upload);



File af = new File(apath);

// 假设没有这个目录。就创建个目录

if (!af.exists()) {

af.mkdirs();

}





String filenewaddress = request.getSession().getServletContext().getRealPath(upload);

    

System.out.println("開始下载,请稍后……");

URL urlfile = null;

HttpURLConnection httpUrl = null;

BufferedInputStream bis = null;

BufferedOutputStream bos = null;

try {



// 把下载地址赋给urlfile 

urlfile = new URL(fileoldaddress);

// 打开下载 URL 引用的资源的通信链接(假设尚未建立这种连接)

httpUrl = (HttpURLConnection) urlfile.openConnection();

// 建立与指定socket的连接

httpUrl.connect();

// 提供一个默认的文件名称

String context = httpUrl.getHeaderField("Content-Disposition");

// 推断context是否为空

if (context == null) {

// 取地址最后的/后面的字符当做名字

filename1 = fileoldaddress.substring(fileoldaddress

.lastIndexOf("/") + 1, fileoldaddress.length());

filenewaddress = filenewaddress + "\\" + filename1;

} else {

filename1 = context.substring(context.lastIndexOf("=") + 1,

context.length());

filenewaddress = filenewaddress + "\\" + filename1;

}

// 把本地保存地址赋给f

File f = new File(filenewaddress);

bis = new BufferedInputStream(httpUrl.getInputStream());

bos = new BufferedOutputStream(new FileOutputStream(f));

int len = 2048;

byte[] b = new byte[len];

while ((len = bis.read(b)) != -1) {

bos.write(b, 0, len);

}

bos.flush();

bis.close();

httpUrl.disconnect();

System.out.println("下载完毕。");

} catch (Exception e) {

System.out.println("无效下载地址,错误信息:" + e.getMessage());

this.msg = "下载失败!";

this.success = false;

} finally {

try {

if (bis != null)

bis.close();

if (bos != null)

bos.close();

} catch (IOException e) {

System.out.println("系统错误,错误信息:" + e.getMessage());

System.out.println("请联系管理员!");

}

}





// 下载到本地结束



// 取绝对路径+名

String filepath = apath + "\\" + filename1;





System.out.println(filepath);

// 转格式

DocConverter d = new DocConverter(filepath);

d.conver();

// 转格式结束

return "success";

}

转码须要用到两个软件!

Apache_OpenOffice_incubating_3.4.1_Win_x86_install_zh-CN

swftools

必须先启动这两个软件,才干转码

最新文章

  1. 1012. The Best Rank (25)
  2. WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭
  3. ant安装(linux)
  4. TP-Link路由器刷dd-wrt的linux,无线信号增强不少
  5. 匿名函数自执行原理和instanceof运算符执行原理
  6. Visual C#每一次新版本的变化
  7. 【idea】移动下载站
  8. c++11信号量实现
  9. C#- 基于Lumisoft.NET组件的POP3邮件接管和删除操纵
  10. box-shadow 被其他div遮住 shadow was hidden/covered by another div
  11. ORALCE 编译过程卡死解决方法。
  12. 【Unity3D技术文档翻译】第1.3篇 创建 AssetBundles
  13. Raptor入门与安装
  14. 最常用的JavaScript类的定义
  15. VS和IIS的一些问题
  16. Google Maps V3 之 路线服务
  17. python-面向对象-14_eval函数
  18. 绝望的主妇第一二三季/Desperate Housewives迅雷下载
  19. Linux系统对IO端口和IO内存的管理
  20. 第三视角团队:项目UML设计(团队)

热门文章

  1. java socket报文通信(一)socket的建立
  2. PHP MySQLi
  3. 武汉科技大学ACM :1009: 华科版C语言程序设计教程(第二版)习题6.11
  4. 《Effective C++》 阅读小结 (笔记)
  5. phpcms v9教程 联动搜索在房地产网站开发中的应用
  6. swf上传
  7. CentOS 6.3安装配置LAMP服务器(Apache+PHP5+MySQL)
  8. Css3从IE6-IE9的支持查看
  9. DEDE提高生成HTmL的速度
  10. linux运维面试题汇总一