本质上,我将一个相对较小的 .exe 拉到本地存储的文件夹中。理想情况下,我想做的是在文件下载完成时找到,这样我就可以执行一些功能,然后继续处理下一个文件。
这是部分代码:
String saveTo = System.getProperty("user.dir") + "\\Applications\\Setup\\";
ReadableByteChannel rbc = Channels.newChannel(download.openStream());
FileOutputStream fos = new FileOutputStream(saveTo + "setup.exe");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
//Check if file is finished here.
//Repeat function above for different file here
最佳答案
你可以这样做。使其成为一个方法,如果成功完成则返回 true,如果未成功则返回 false。在完成之前它不会返回。您传入要保存的文件名和下载网址。
private boolean saveFile(String fileName, URL download)
{
try
{
String saveTo = System.getProperty("user.dir") + "\\Applications\\Setup\\";
ReadableByteChannel rbc = Channels.newChannel(download.openStream());
FileOutputStream fos = new FileOutputStream(saveTo + fileName);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
return true;
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return false;
}
关于java - 检查 Java 中的完整文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17932458/