【网络编程】输入一个网址,获取网页内容,并保存到一个html文件中

import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Scanner;

/**
 * @Author: Travelmate
 * @CreateTime: 2021/2/21 1:34
 * @Description: 输入一个网址,获取网页内容,并保存到一个html文件
 */
public class UrlHtml {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个网址: ");
        String urlStr = sc.nextLine();
        //html文件名
        Long start = System.currentTimeMillis();
        try {

            //准备把图片下载到本地位置
            String savePath = "D:/大学作业/Java高级应用编程2020-2021-1/网络编程/";
            //下载后的图片名称
            String fileName = start + ".html";
            //创建URL对象
            URL url = new URL(urlStr);
            //获取URLConnection对象
            URLConnection conn = url.openConnection();
            //设置连接超时时间为3秒
            conn.setConnectTimeout(3 * 1000);
            //获取网络输入流
            InputStream inputStream = conn.getInputStream();
            //从网络输入流中读取字符数组,即从网络中下载的文件内容
            byte[] buffer = new byte[1024];
            int len = 0;
            //字符数组输出流,用来存储追加从网络输入流中读取的字符
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            //从输入流读取字节到buffer数组
            while ((len = inputStream.read(buffer))!=-1){
                //把buffer数组中的字节输出到字符数组输出流中,即追加进去
                bos.write(buffer,0,len);
            }
            //获取字节数组输出流中的字节数组,该字节数组要准备存储到硬盘本地
            byte[] getData = bos.toByteArray();
            bos.close();

            //创建文件保存位置,即文件夹对象
            File saveDir = new File(savePath);
            //如果文件夹不存在
            if (!saveDir.exists()){
                //创建文件夹
                saveDir.mkdir();
            }
            //通过文件夹和文件名创建文件对象
            File file = new File(saveDir,fileName);
            //创建文件输出流,用于写文件
            FileOutputStream fos = new FileOutputStream(file);
            //把前面从网络中下载的字节数组写入文件
            fos.write(getData);
            if (fos != null){
                fos.close();
            }
            if (inputStream != null){
                inputStream.close();
            }
            System.out.println("提示信息 : " + url + " 下载成功! ");

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 首先需要一个服务器端的语言来处理数据的存储,比如PHP、Python等。下面提供一个PHP的示例代码: ```php <?php if(isset($_POST['submit'])){ $data = $_POST['data']; $file = fopen("data.txt", "a"); fwrite($file, $data."\n"); fclose($file); echo "数据保存成功!"; } ?> <html> <head> <title>输入并保存数据</title> </head> <body> <form method="post"> <label for="data">输入数据:</label><br> <input type="text" id="data" name="data"><br> <input type="submit" name="submit" value="保存"> </form> </body> </html> ``` 上述代码实现了一个简单的表单页面,用户可以在表单输入数据,并将其保存到指定的文件data.txt。当用户点击“保存”按钮时,表单数据将会以POST方式提交给服务器端进行处理。 在实际使用时,需要将上述PHP代码保存到服务器上,并通过浏览器访问该PHP文件即可使用。同时需要注意,由于涉及文件操作,需要确保PHP文件所在的文件夹有写入权限。 ### 回答2: 要实现数据的输入并将输入的数据保存到指定的文件夹数据库,可以通过以下步骤来完成: 1. 在HTML创建一个表单,用于用户输入数据。可以使用HTML5的<input>标签,设置不同的类型以适应不同的数据(如文本、数字、日期等)。 2. 使用HTML5的<form>标签将表单包裹起来,并设置action属性为后台处理数据的脚本文件路径。 3. 在后台处理数据的脚本文件,将接收到的数据进行处理。这可以使用服务器端的编程语言(如PHP、Python)来完成。 4. 在脚本文件,可以使用文件操作函数将数据保存到指定的文件夹数据库。通过打开文件、写入数据、关闭文件等操作来实现。 5. 数据保存文件夹数据库后,可以根据需求进一步对数据进行处理或展示。比如可以读取文件夹数据库的数据并进行展示,可以使用服务器端的编程语言生成动态网页。 通过上述步骤,就可以使用HTML5编写一个网页,实现数据的输入并将输入的数据保存到指定的文件夹数据库。需要注意的是,后台处理数据的脚本文件需要根据实际情况来编写,以及文件夹数据库的具体实现方式也需根据需求来选择。 ### 回答3: 要用HTML5编写一个网页,实现数据的输入并将输入的数据保存到指定的文件夹数据库,可以通过以下步骤来实现: 首先,在HTML页面创建一个表单,使用适当的输入字段(例如文本输入框、下拉列表等)来收集用户输入的数据。可以使用HTML5的<form>和相关的<input>元素来创建表单。 接着,在表单添加一个提交按钮,用于用户提交输入的数据。 然后,在表单的提交按钮被点击时,通过使用HTML5的<canvas>元素,将用户输入的数据绘制为图像。可以使用JavaScript和HTML5的Canvas API来完成这一步骤。 在用户点击提交按钮后,使用JavaScript来获取用户输入的数据并将其保存到指定的数据库。可以使用XMLHttpRequest对象来向服务器发送请求并将用户数据传递给服务器端的数据库。 最后,在服务器端,可以使用服务器端脚本(如PHP、Python等)来接收从前端发送的数据,并将数据保存到指定的文件夹数据库。根据服务器端脚本语言的不同,可以使用不同的数据库管理系统来实现这一步骤,如MySQL、MongoDB等。 需要注意的是,这只是一个基本的实现思路,具体的实现细节会因个人需求和环境的不同而有所差异。此外,还需要考虑数据的安全性和合法性,以及对用户输入进行适当的验证和过滤。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sail Jamie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值