我正在尝试自动下载文件。我知道链接,因为我已经从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());
}
}
答案 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)有效阅读。