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")