java http url 读取远程文件

本文档展示了如何使用Java通过URL读取文件,包括建立HTTP连接、设置超时、处理Cookie,并使用BufferedReader逐行读取内容,最后返回完整的字符串结果。
private static String readUrlFile(String url) {
        BufferedReader reader = null;
        StringBuilder content = new StringBuilder();

        try {
            URL httpUrl = new URL(url);
            String line = null;
            CookieHandler.setDefault(new CookieManager(null, CookiePolicy.ACCEPT_ALL));
            HttpURLConnection connection = (HttpURLConnection) httpUrl.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(10 * 1000);
            connection.setReadTimeout(10 * 1000);
            connection.connect();
            reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));


            while ((line = reader.readLine()) != null) {
                content.append(line + "\n");
            }
            connection.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException ioe) {
                    ioe.printStackTrace();
                }
            }
        }
        return content.toString();
    }


    public static void main(String[] args) throws Exception {
        String url = "https://blog.youkuaiyun.com/qiaobing1226/article/details/122867476";
        String content = readUrlFile(url);
        System.out.println(content);
    }

Java中,可以使用`URL`和`HttpURLConnection`来根据URL远程读取文件并提取文本内容。以下是一个示例代码,展示了如何实现这一功能: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class ReadTextFromURL { public static String readTextFromUrl(String mediaUrl) { StringBuffer strB = new StringBuffer(); String str = ""; URL url = null; try { url = new URL(mediaUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); InputStreamReader isr = new InputStreamReader(connection.getInputStream()); BufferedReader br = new BufferedReader(isr); while ((str = br.readLine()) != null) { strB.append(str).append("<br>"); } br.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return strB.toString(); } public static void main(String[] args) { // 替换为实际的URL String url = "http://example.com/yourfile.txt"; String text = readTextFromUrl(url); System.out.println(text); } } ``` 上述代码中,`readTextFromUrl`方法接受一个URL字符串作为参数,通过`URL`和`HttpURLConnection`建立连接,使用`BufferedReader`逐行读取文件内容,并将每行内容添加到`StringBuffer`中,最后返回包含文件文本内容的字符串。在`main`方法中调用`readTextFromUrl`方法并传入一个示例URL,打印出读取到的文本内容。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值