java在循环中下载一个文件,首先要在循环中做好条件判断,即在何时下载文件,其次是实现下载功能,具体可以参考以下内容。
一、Java中的循环
1、java中一般来说和c/c++类似,有三种循环结构,while、do……while、for三种结构,先说while循环结构,基本结构如下。while( 布尔表达式 ) { //循环体}示例如下图所示,循环输入[0,20)以内的整数值。
2、第二种是do……while结构,基本结构如下:do { //循环体}while(布尔表达式);示例如下图所示,循环输入[0,20)以内的整数值。
3、第三种是for结构,基本结构如下:for(初始化; 布尔表达式; 循环增减量) { //循环体代码}示例如下图所示,循环输入[0,20)以内的整数值。
二、下载文件
1、java中下载文件有很多种实现方法,这里通过一种”曲线救国“的方式实现,通过java代码执行外部程序wget,通过wget来实现文件的下载。
2、以下载百度网站为例,将其定义为download()。
三、循环中下载一个文件
1、这里还是以前面说的for循环为例。
2、当inx=13的时候开始下载文件,这个就是条件控制,在循环中通过一个分支条件判断来下载一个文件即可。
3、整个的代码如下,将要下载的文件地址修改为自己的即可,执行效果如下图所示。import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;public class t { public static void main(String[] args) throws IOException { for (int inx=0;inx!=20;++inx) { {System.out.print("value of inx : " + inx );} System.out.print("\n"); if (inx==13){ download(); } } } //执行shell命令,通过wget来下载文件 static void download() throws IOException{ Process process = null; Runtime rt = Runtime.getRuntime(); try { process = rt.exec("wget 你要下载的文件"); } catch (IOException e) { e.printStackTrace(); } try { process.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } InputStream is = process.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String b; while((b=br.readLine())!=null) { System.out.println(b); System.out.println(br.readLine()); } }}