0

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

自从我之前的编辑以来,我被告知只要我保持文件名相同,我就可以做到这一点,这是我到目前为止的代码(我之前应该提到这是一个 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());
    }
}
4

2 回答 2

2

如果您打算将文件从站点复制到本地文件,那么您可以使用 java.nio.file

Files.copy(new URL("http://host/site/filename").openStream(), Paths.get(localfile));
于 2013-06-26T11:47:51.040 回答
0

使用URL.openStream打开流和Java NIO (New I/O)以高效读取。

于 2013-06-26T11:48:47.047 回答