使用数组来获取通过HTTPGET在Java中

问题描述:

多个URL我有一个字符串数组a []包含我要传递到我的HTTPGET代码如下使用数组来获取通过HTTPGET在Java中

 for (int i = 0; i < size; i++);{ 
     try (CloseableHttpClient httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build()){ 
       HttpGet httpget = new HttpGet(a[i]); 

       /*WRITE TO FILE*/ 
       /*try (CloseableHttpResponse response = httpclient.execute(new HttpGet(a[i]))){ 
        HttpEntity entity = response.getEntity(); 
        if (entity != null) { 
         try (FileOutputStream outstream = new FileOutputStream(AgentRequirements)) { 
         entity.writeTo(outstream); 
         } 
        } 
       }*/ 

       /*SHOW EXECUTION*/ 
       System.out.println("Executing request " + httpget.getRequestLine()); 
       try (CloseableHttpResponse response = httpclient.execute(httpget)) { 
        System.out.println("----------------------------------------"); 
        System.out.println(response.getStatusLine()); 
        System.out.println(EntityUtils.toString(response.getEntity())); 
       } 
      } 
    } 

几个网址,我有一个构建失败,因为它说该系统找不到符号'i'。任何人都可以帮忙吗?

在for循环结束时删除;,因为如果它停留在那里,则forloop不循环,因为该块已经关闭。这就是为什么i无法在该块以外找到(您的尝试抓取)。

for (int i = 0; i < size; i++);{ 
    // your code 
} 

是一样的:

for (int i = 0; i < size; i++){} 
{ 
    // your code 
} 

for (int i = 0; i < size; i++); 
          ^

你有一个宽松的分号,打破你的for循环。

你的for循环没有很好地格式化:

for (int i = 0; i < 10; i++);{ 

删除分号 “;”

for (int i = 0; i < 10; i++){ 

for (int i = 0; i < size; i++); 

冗余符号 ';'最后。它关闭“for循环”操作

你有什么在这里:

for (int i = 0; i < size; i++);{ 
... 
} 

是先用一个空语句

for (int i = 0; i < size; i++); 

跟着块声明(这是因为没事做一个循环与循环)

{ 
... 
} 

问题来自你的循环迭代,什么都不做,一样

for (int i = 0; i < size; i++){ 
    ; 
} 
{ 
... 
} 

只是删除构成,将来自statemnt块循环的;。这样,该块将成为每个循环的执行块。

for (int i = 0; i < size; i++){ 
    ... 
} 

FYI:

知道,没有什么阻止你随时随地添加块语句的方法是很重要的。

所以,你可以有

public static void main(String[] args){ 
    { 
     int i = 0; 
     System.out.println(i); 
     { 
      int j = 0; 
      System.out.println(i); 
      System.out.println(j); 
     } 
     System.out.println(j); // ERROR - j doesn't exist here 
    } 
    System.out.println(i); // ERROR - i doesn't exist here 
} 

的想法是,i仅在该块存在,你不能使用它的块之外。

+0

你的答案更好。它真的解释了为什么和如何。另外我喜欢你的信息片尾:) – Lino