注册

Java从网络读取图片并保存至本地实例

下面是我为您提供的Java从网络读取图片并保存至本地的攻略,包含了两条示例说明。

准备工作

在实现从网络读取图片并保存到本地之前,我们需要进行一些准备工作。首先,我们需要使用Java中的URL类来打开网络连接。其次,我们需要使用Java中的IO类来读取数据流并将其保存到本地文件中。接下来我们将分两个示例来介绍如何实现这个过程。

示例一:通过URL类读取网络图片并保存至本地

import java.io.*;
import java.net.*;

public class ReadWriteImageFromUrl {
    public static void main(String[] args) throws Exception {
        // 输入网络图片地址
        URL url = new URL("http://test.com/test.png");

        InputStream inputStream = url.openStream();
        OutputStream outputStream = new FileOutputStream("test.png");

        // 读取数据流并写入本地文件
        byte[] buffer = new byte[2048];
        int length;
        while ((length = inputStream.read(buffer)) != -1) {
            outputStream.write(buffer, 0, length);
        }

        inputStream.close();
        outputStream.close();
    }
}

上面的示例代码中,我们首先使用URL类打开携带网络图片地址的输入流。然后使用Java IO中的OutputStream类从输入流中读取数据并写到本地文件中。

示例二:使用BufferedImage类读取网络图片并保存至本地

import java.awt.image.BufferedImage;
import java.io.*;
import java.net.*;
import javax.imageio.ImageIO;

public class ReadWriteImageFromUrlWithImageIO {
    public static void main(String[] args) throws Exception {
        // 输入网络图片地址
        URL url = new URL("http://test.com/test.png");

        // 读取网络图片为BufferedImage对象
        BufferedImage bufferedImage = ImageIO.read(url);

        // 将BufferedImage保存到本地文件
        File imageFile = new File("test.png");
        ImageIO.write(bufferedImage, "png", imageFile);
    }
}

上面的示例代码中,我们使用了Java标准库中的javax.imageio.ImageIO类来读取网络图片并将其转换为Java BufferedImage对象。然后使用ImageIO类的静态方法write()把BufferedImage对象直接写入文件中。

以上是关于Java从网络读取图片并保存至本地的攻略,希望能对您有所帮助。