Java实现HTTP文件下载,解压,入库一条龙

59 篇文章 0 订阅
16 篇文章 0 订阅

 

本工程实现的具体功能如下:

 

1. 实现从某网站下载文件(HTTP下载).

2. 当下载的文件是zip等压缩文件时,提供解压.

3. 把解压后得到的.txt文件,按规则读取拆分.

4. 逐条入库.

5. 包括把此工程打成Jar包的详细过程及打包时遇到的一些问题.

6. 把工程中用到的第三方jar和properties等配置文件与工程的Jar包分离,在附件的说明中有详细介绍,实现轻松管理.

7. 制作bat(批处理)文件,用于定时执行Jar包.   java -jar download.jar

8. 添加windows任务计划,用于定时调用bat文件.

 

结果: 实现定时从网站上下载zip文件,解压zip文件到本地,解析zip文件中的txt文件,存入数据库.

 

 

 

附件的工程中有说明,可以详细了解.

 

下面是解决上述问题时用到的材料.

 

文章出自:

(如何读取jar包外的properties文件和log4j.properties )

http://blog.csdn.net/zhouyong0/article/details/7652545

 

 

一般在项目中使用properties配置文件的时候都将相关的properties文件放在src目录下,在将该app打包生成jar后,相应的properties配置文件生成在jar包中,这样的话要修改配置文件又要重新打jar包,那是相当的麻烦。

既然这么麻烦,你肯定想将配置文件放在其他的目录下,生成的jar包内不包含相应的配置文件,修改配置文件无需重新打包,没错,下面就是一种解决方案了。  

 

读取jar包内配置文件:

InputStream in = this.getClass().getClassLoader().getResourceAsStream("/configfilename.properties"); 

  

读取jar包外配置文件:
 

String filePath = System.getProperty("user.dir") + "/conf/configfilename.properties";    
InputStream in = new BufferedInputStream(new FileInputStream(filePath));   

 

另外,如果app中使用到log4j.properties文件,默认的存放路径是src/log4j.properties,同上面一样,我想把log4j.properties放在其他目录中,这样一来,在修改log4j配置文件的时候无需重新打jar包。

 

在main函数第一行添加如下代码:

PropertyConfigurator.configure(System.getProperty("user.dir") + "/conf/log4j.properties"); 

 

 

文章出自 : Eclipse导出jar文件的两种方式

http://linhong006.blog.163.com/blog/static/297828320099735244868/

 

 

具体做法如下:
方法一:(工程没有引用外部jar包时,直接导出)

选中工程---->右 键,Export...--->Java--->JAR file--->next-->选择jar file的路径及名称-->next-->next---> 选择main class--->finish.

 

 

方法二:

当工程引用了其他的外部jar时,由于eclipse不支持同时导出外部jar包的功能,所以比较麻烦一点;具体步骤如下:
生成manifest file:选中工程--->右键,Export--->Java--->JAR file--->选择jar file的路径及名称--->next--->next--->next;
此 时来到了方法1中要选择main class的窗口,但这里先不选择main class,选择最上方的Generate the manifest file, 勾上Save the manifest in the workspace,在Manifest file:中输入file的名称,如/testProject/main,(其中testProject为工程名,main为manifest file的名称)点击finish,回到工程,打开刚刚生成的main,在这里要输入如下信息:

Manifest-Version: 1.0
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties
Class-Path: jxl.jar

 
其中,Manifest-Version: 1.0为刚刚自动生成的manifest版本号;
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties为main class所在类;
Class-Path: jxl.jar为外部jar包名称,这里是告诉导出的jar包,所要用到的外部的jar包的路径及名称。
上面都做完了就可以导出带外部jar包的jar包了,步骤如下:
选中工程--->右键,Export--->Java--->JAR file--->选择jar file的路径及名称--->next--->next--->next,这时又来到了选择main class的窗口,但这里也不选择main class,选择Use existing manifest from workspace,在Manifest file:里选择刚刚生成的main,如:/testProject/main,点击finish,到此就大功告成啦;假设生成的jar包的名称为test.jar,那么Class-Path中引入的jxl.jar要和test.jar位于同一个目录下。

 

 

这里还有一点要注意:
如果想在命令行中运行刚刚生成的jar,命令如下:
java -jar test.jar
如果在jar中有一些System.out.prinln语句,运行后想看看打印出的内容,可以用一下命令:
java -jar test.jar >log.txt
输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和test.jar一个目录中。

这里也可以新建一个start.bat文件,创建后;右键---编辑,输入:java -jar test.jar >log.txt;以后直接双击start.bat即可运行test.jar啦。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值