自动从URL下载文件

时间:2013-06-26 11:37:43

标签: java download

我正在尝试自动下载文件。我知道链接,因为我已经从RSS XML文件中解析了它。这样做有一种简单的noob友好方式吗?

由于我之前的编辑,我被告知,只要我保持文件名相同,我就可以这样做,这是我到目前为止的代码(我之前应该提到这是一个bukkit插件但是插件)

public void getFile (String url) {
    try{
        BufferedInputStream in = new BufferedInputStream(new

        URL("http://dev.bukkit.org/media/files/706/595/Kustom-Warn.jar").openStream());
        FileOutputStream fileOutputStream = new FileOutputStream(plugin.getDataFolder().getAbsolutePath() + "/KustomWarn.jar");
        logger.severe(String.valueOf(plugin.getDataFolder().getAbsolutePath()));
        BufferedOutputStream outputStream = new BufferedOutputStream(fileOutputStream,1024);
        byte data[] = new byte[1024];
        while(in.read(data,0,1024)>=0)
        {
            outputStream.write(data);
        }
        outputStream.close();
        in.close();
    }catch (Exception e){
        logger.severe("Error: " + e.getMessage());
    }
}

2 个答案:

答案 0 :(得分:2)

如果您要将文件从站点复制到本地文件,则可以使用java.nio.file

Files.copy(new URL("http://host/site/filename").openStream(), Paths.get(localfile));

答案 1 :(得分:0)

使用URL.openStream打开流,Java NIO (New I/O)有效阅读。