我一直在尝试多种方法从URL下载文件并将其放在文件夹中。
public static void saveFile(String fileName,String fileUrl) throws MalformedURLException, IOException {
FileUtils.copyURLToFile(new URL(fileUrl), new File(fileName));
}
boolean success = (new File("File")).mkdirs();
if (!success) {
Status.setText("Failed");
}
try {
saveFile("DownloadedFileName", "ADirectDownloadLinkForAFile");
} catch (MalformedURLException ex) {
Status.setText("MalformedURLException");
Logger.getLogger(DownloadFile.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Status.setText("IOException Error");
Logger.getLogger(DownloadFile.class.getName()).log(Level.SEVERE, null, ex);
}
我在网上发现了这个代码,我正确使用它吗?
如果我这样做: saveFile(“FolderName”,“ADirectDownloadLinkForAFile”)
我会得到IOException
错误
我希望我的代码能做的是:
我是新手,抱歉。请帮忙
答案 0 :(得分:1)
java有多种方法可以从互联网上下载文件。 最简单的方法是使用缓冲区和流:
File theDir = new File("new folder");
// if the directory does not exist, create it
if (!theDir.exists())
{
System.out.println("creating directory: " + directoryName);
boolean result = theDir.mkdir();
if(result){
System.out.println("DIR created");
}
}
FileOutputStream out = new FileOutputStream(new File(theDir.getAbsolutePath() +"filename"));
BufferedInputStream in = new BufferedInputStream(new URL("URLtoYourFIle").openStream());
byte data[] = new byte[1024];
int count;
while((count = in.read(data,0,1024)) != -1)
{
out.write(data, 0, count);
}
只是基本概念。别忘了关闭溪流;)
答案 1 :(得分:0)
File.mkdirs()
语句似乎正在创建名为Files
的文件夹,但saveFile()
方法似乎没有使用此方法,只是将文件保存在当前目录中。