Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java应用程序立即退出_Java - Fatal编程技术网

Java应用程序立即退出

Java应用程序立即退出,java,Java,我正在尝试制作一个java程序,从网站上下载大量图像。然而,一旦我运行这个类,它就会立即退出,我不知道为什么。这是我的密码: import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.util.HashMap; public class Main {

我正在尝试制作一个java程序,从网站上下载大量图像。然而,一旦我运行这个类,它就会立即退出,我不知道为什么。这是我的密码:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.util.HashMap;

public class Main {

    static HashMap<Integer, String> hmap = new HashMap<Integer, String>();

    public static void main(String[] args) throws IOException {
        for(int i = 1; i > 151; i++) {
            for(int i1 = 1; i1 > 151; i1++) {
                if(i == i1) {
                    continue;
                }
                String imageUrl1 = "http://images.alexonsager.net/pokemon/fused/" + i + "/" + i + "." + i1 + ".png";
                String destinationFile1 = hmap.get(i) + " and " + hmap.get(i1);
                saveImage(imageUrl1, destinationFile1);
                System.out.println("Downloaded " + destinationFile1);
            }
        }
    }

    public static void saveImage(String imageUrl, String destinationFile) throws IOException {
        URL url = new URL(imageUrl);
        InputStream is = url.openStream();
        OutputStream os = new FileOutputStream(destinationFile);

        byte[] b = new byte[2048];
        int length;

        while ((length = is.read(b)) != -1) {
            os.write(b, 0, length);
        }

        is.close();
        os.close();
    }

    public static void createHash() {
        //hmap.put(int, string) times 151
    }
}
我希望它做的是下载,比如说,I=1和i1=2,然后下载I=1和i1=3,依此类推,直到两者都达到151,它们不能都相等。总的来说,这将下载22650个文件,总共约为27.6MB。所以,也就是说,是java设置本身的内存问题吗?我有32GB的RAM,所以我的内存不足不是一个真正的选项,还是代码有问题

如果有人能帮我,我将不胜感激


谢谢

i永远不会大于151,因此您永远不会进入循环

解决方案
int i=1;i>151;i++。。。哦我总是对此感到困惑。我一直认为是for循环结束的时候,而不是应该继续的时候。。。谢谢你。
for (int i = 1 ; i < 151 ; i++)