Java用文件流下载网络文件示例代码

Java中使用文件流下载网络文件可以通过以下步骤完成:

1.通过URL类创建网络文件的输入流(InputStream)
2.创建本地文件的输出流(OutputStream)
3.从网络文件的输入流中读取数据并将其写入本地文件的输出流中
4.关闭输入流和输出流

具体实现步骤如下所示:

示例1:使用Java标准库实现

import java.io.InputStream;
import java.io.FileOutputStream;
import java.net.URL;

public class NetworkFileDownload {
    public static void main(String[] args) {
        try {
            //1.通过URL类创建网络文件的输入流(InputStream)
            String urlLink = "https://example.com/images/pic.jpg";
            URL url = new URL(urlLink);
            InputStream inputStream = url.openStream();

            // 2.创建本地文件的输出流(OutputStream)
            FileOutputStream outputStream = new FileOutputStream("pic.jpg");

            // 3.从网络文件的输入流中读取数据并将其写入本地文件的输出流中
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }

            //4.关闭输入流和输出流
            inputStream.close();
            outputStream.close();

            System.out.println("文件下载成功!");
        } catch (Exception e) {
            e.printStackTrace();
        } 
    }
}

示例2:使用OkHttp库实现

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

import java.io.IOException;
import java.io.InputStream;
import java.io.FileOutputStream;

public class NetworkFileDownload {
    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();
        String urlLink = "https://example.com/images/pic.jpg";

        Request request = new Request.Builder()
                .url(urlLink)
                .build();

        try {
            Response response = client.newCall(request).execute();

            // 2.创建本地文件的输出流(OutputStream)
            FileOutputStream outputStream = new FileOutputStream("pic.jpg");

            InputStream inputStream = response.body().byteStream();
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }

            //4.关闭输入流和输出流
            inputStream.close();
            outputStream.close();

            System.out.println("文件下载成功!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上两个示例都是通过网络下载图片并保存到本地,只是实现方式不同。示例一直接使用了Java标准库中的FileOutputStream类来保存文件,而示例二使用了OkHttp库来发送网络请求并下载文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java用文件流下载网络文件示例代码 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • js中如何对json数组进行排序

    首先需要明确的是,JSON数组是由JavaScript对象组成的数组。在对JSON数组进行排序前,需要先确定排序的依据。 若JSON数组中的对象具有单个属性用于排序,可以使用JavaScript的sort()方法。sort()方法可以按照属性值进行排序,可以接受一个比较函数作为参数。 以下为示例代码: // 假设JSON数组中的对象包含一位客人的姓名和年龄 …

    Java 2023年5月26日
    00
  • Spring Data JPA查询方式及方法名查询规则介绍

    Spring Data JPA查询方式及方法名查询规则介绍 Spring Data JPA是Spring Framework提供的一种简化数据访问层的方式。它通过提供一系列接口和实现来简化开发人员对数据库的访问,提高了开发效率。 Spring Data JPA提供了多种查询方式,包括查询方法名、使用@Query注解定义查询语句、使用Criteria API等…

    Java 2023年5月20日
    00
  • Spring Data JPA映射自定义实体类操作

    下面我将详细讲解“Spring Data JPA映射自定义实体类操作”的完整攻略。 前言 Spring Data JPA 是 Spring 框架中对于数据访问操作的一种规范组件,为使用 JPA 提供了更加便利的方式,而 Spring Data JPA本身也引入了很多适合常用场景下的默认特性和方法,非常适合开发人员进行快速开发和构建。 不过,在开发中有时候我们…

    Java 2023年5月20日
    00
  • java web SpringMVC后端传json数据到前端页面实例代码

    下面我将详细讲解“java web SpringMVC后端传json数据到前端页面实例代码”的攻略,包含以下内容: 前置条件 后端代码实现 前端页面代码实现 示例说明 1. 前置条件 首先需要确保你已经安装好了JDK和SpringMVC框架,并且对于前端页面的开发,需要掌握HTML、CSS、JavaScript等技术。 2. 后端代码实现 下面我们以一个简单…

    Java 2023年5月26日
    00
  • java实现收藏功能

    下面是详细讲解“Java实现收藏功能”的完整攻略: 1. 收藏功能需求分析 在实现收藏功能前,首先需要明确需求,分析出该功能需要实现的具体功能点。一般而言,收藏功能需要实现以下几个功能点:- 用户可以将自己喜欢的内容添加至收藏夹。- 用户可以查看自己已经收藏的内容。- 用户可以取消收藏自己不再喜欢的内容。 2. 收藏功能设计 在分析出收藏功能的需求后,下一步…

    Java 2023年5月19日
    00
  • Java工程如何打印程序日志过程解析

    下面我将详细讲解“Java工程如何打印程序日志过程解析”的完整攻略。 什么是程序日志 程序日志是指在程序运行过程中对程序行为进行记录的信息,包括但不限于程序运行错误、程序调试信息、程序状态等。 在Java工程中,常见的日志工具有Log4j、Logback等,它们将程序打印的日志信息输出到控制台、文件等位置,方便程序员了解程序的运行状态及定位程序错误。 日志级…

    Java 2023年5月26日
    00
  • maven-compiler-plugin版本指定方式

    当我们在使用Maven构建Java项目时,通常需要编译Java源代码。而编译Java源代码需要用到maven-compiler-plugin插件。本篇攻略将详细讲解如何指定maven-compiler-plugin的版本。 步骤一:在pom.xml文件中添加maven-compiler-plugin的配置信息 在pom.xml文件中,我们可以通过<bu…

    Java 2023年5月19日
    00
  • WIN2003 IIS相关错误的解决方法

    WIN2003 IIS相关错误的解决方法 导言 WIN2003是一个非常优秀稳定的操作系统,而IIS是其中不可或缺的组件。然而,我们在使用IIS过程中,可能会遇到一些错误,导致网站无法正常访问。在本文中,我们将介绍一些常见的IIS错误及其解决方法,帮助您快速排除问题,让您的网站重获生机。 目录 错误一:IIS 500.19 错误 错误二:IIS 404 错误…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部