Java读取指定网页和读取本地文件

本文展示了一个Java程序,用于从远程URL读取文件内容并将其解析为字符串列表。通过实例演示了如何使用HttpURLConnection获取HTTP响应,并读取输入流到BufferedReader中逐行处理。
package com.jyb.aiponews;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;

public class httpWebIOTest {

    /**
     * @param args
     */
    public static void main(String[] args) {

        /*String buildPath = "F:\\build.xml";
        LocalFileReader.getFile(buildPath);

        String txtPath = "F:\\1.txt";
        LocalFileReader.getFile(txtPath);*/

        String baiduURL = "http://static.iqdii.com/stockdata/holdstock/stockcode/e00711.xml";
        RemoteFileReader.getFile(baiduURL);
        System.out.println(RemoteFileReader.getFile(baiduURL));
    }
}

class RemoteFileReader {


    public static List<String> getFile(String urlPath) {
        System.out.println("Start to get file from URL...");
        List<String> contents = new ArrayList<String>();

        URL url;
        try {
            url = new URL(urlPath);
            URLConnection conn = url.openConnection();
            conn.connect();
            HttpURLConnection httpConn = (HttpURLConnection) conn;
            if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
                InputStreamReader isr = new InputStreamReader(httpConn.getInputStream());
                BufferedReader br = new BufferedReader(isr);
                String line;
                while ((line = br.readLine()) != null) {
                    System.out.println(line.trim());

                    boolean aa = "<row>".equals(line.trim());
                    if (aa)
                        contents.add(line);
                }
            } else {
                System.out.println("Cannot connect to the " + urlPath);
            }


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

        System.out.println("Finished getting the contents from URL...");
        return contents;
    }
}

原作者链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值