在java里使用windows里的wget

wget 默认的存放路径如下,(but当你在别的目录下通过cmd调用wget.exe文件时,默认存放路径就变为了cmd窗口所在目录 ,可以通过增加 -O 参数改变存储位置和存储名称.)

C:\Users\Administrator\AppData\Local\VirtualStore

java调用wget的代码为

Process process =Runtime.getRuntime().exec("cmd /c F:\\wget -O "+new Date().getTime()+".jpg "+url);

cmd /c 表示执行完命令结束此cmd窗口.
F:\wget 表示 wget.exe 文件在F盘主目录下.
-O new Date().getTime().jpg 表示将文件保存为当前时间戳命名的的jgp格式文件.
url是将要访问的网址.

准备步骤:
1.下载wget最新版,将其中的 libeay32.dll,libiconv2.dll,libintl3.dll,libssl32.dll,wget.exe 五个文件拷贝到任意一个文件夹.比如说F盘主目录.
2.在cmd里测试命令

F:\\wget http://pic1.zhimg.com/50/v2-f9b168577eb6edfb27e342b55c971e44_hd.jpg

在java代码里调用wget.exe:

Process process =Runtime.getRuntime().exec("cmd /c F:\\wget -O "+new Date().getTime()+".jpg http://pic1.zhimg.com/50/v2-f9b168577eb6edfb27e342b55c971e44_hd.jpg");

我还整理了,下载完之后的获取下载文件路径的方法,与上面的process对象对应:

BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(),"gbk"));
        String readLine = br.readLine();
        String str = "";
        while (readLine != null) {
            readLine = br.readLine();
            System.out.println(readLine);
            if(null != readLine && readLine.contains("的目录")){
                str = readLine.replace("的目录","").trim();
            }
        }
        System.out.println(str+"**********");
        if(br!=null){
            br.close();
        }
        process.destroy();
        process=null;

或者:

System.getProperty("user.dir")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值