java中URL下载资源

来源:互联网 发布:剑三高冷炮哥捏脸数据 编辑:程序博客网 时间:2024/05/22 13:39

申明:个人学习总结,仅供参考,欢迎批评指正交流。

/** * */package com.XXX.downloader;import java.io.BufferedReader;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import com.XXX.utils.Constant;/** * @author  * */public class DownloadByUrl {    private static URLConnection mConnection;    private static String mFilePath;    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        initialize();        DownloadToFile();//        DownloadToString();    }    private static void initialize() {        // TODO Auto-generated method stub        //1.定义下载路径        String mPath = Constant.HOST;        //2.定义存储目录文件        mFilePath = "D:\\usersDate\\download.txt";        File mFile = new File(mFilePath);        try {//3.定义URL对象            URL mUrl = new URL(mPath);            //4.定义cnnection对象            mConnection = mUrl.openConnection();            //5.定义链接超时和读取超时            mConnection.setConnectTimeout(Constant.CONNECT_TIMEOUT);            mConnection.setReadTimeout(Constant.READ_TIMEOUT);            mConnection.connect();        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    /**     * 下载赋给字符串     * */    private static void DownloadToString() {        // TODO Auto-generated method stub        InputStream mInputStream = null;        StringBuffer mBuffer = new StringBuffer();        try {//6.读取输入流            mInputStream = mConnection.getInputStream();            //7.utf-8的格式将字节流转换为字符流            InputStreamReader mStreamReader = new InputStreamReader(mInputStream, "utf-8");            //8.定义缓冲区            BufferedReader mBufferedReader = new BufferedReader(mStreamReader);            String str = null;            //9.从缓冲区写入数据到stringbuffer            while ((str = mBufferedReader.readLine()) != null){                mBuffer.append(str);            }            mInputStream.close();            mStreamReader.close();            mBufferedReader.close();            System.out.println("mBuffer = " + mBuffer);        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    /**     *     * 下载写入到文件     * */    private static void DownloadToFile() {        // TODO Auto-generated method stub        InputStream mInputStream = null;        String str = null;        StringBuffer mStringBuffer = new StringBuffer();        try {//6.读取字节输入流            mInputStream = mConnection.getInputStream();            //7.定义文件写入对象            FileWriter mFileWriter = new FileWriter(mFilePath);            //8.将字节流转换成字符流            InputStreamReader mInputStreamReader = new InputStreamReader(mInputStream, "utf-8");            BufferedReader mBufferedReader = new BufferedReader(mInputStreamReader);            //9.将字符流写入到stringbuffer            while ((str = mBufferedReader.readLine()) != null) {                mStringBuffer.append(str);            }            //10.将字符数据写入到文件            mFileWriter.write(mStringBuffer.toString());            mInputStream.close();            mFileWriter.close();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}



0 0
原创粉丝点击