Java 从url保存图像或文件
我希望用java将一个图像从给定的url保存到磁盘上指定的位置,并使用指定的文件名。我被告知转换成字节数组,然后保存。作为一名java新手,我现在对这一点感到完全不知所措 我想首先打开一个到url的连接:Java 从url保存图像或文件,java,url,save,Java,Url,Save,我希望用java将一个图像从给定的url保存到磁盘上指定的位置,并使用指定的文件名。我被告知转换成字节数组,然后保存。作为一名java新手,我现在对这一点感到完全不知所措 我想首先打开一个到url的连接: `String img_url = "some img url"; URL url = new URL(img_url); URLConnection url_c = url.openConnection();` 我该怎么办 编辑: 我发现这个实现应该保存内容,而不考虑类型。因此,如果url
`String img_url = "some img url";
URL url = new URL(img_url);
URLConnection url_c = url.openConnection();`
我该怎么办
编辑:
我发现这个实现应该保存内容,而不考虑类型。因此,如果url指向的是图像,则应该保存,或者如果url指向的是.doc或.pdf,则应该保存。这可能适用于您URLConnection connection=url.openConnection();connection.connect();getHeaderField(“内容处置”)您可以使用它来获取标题信息。模式pc=Pattern.compile(“=([^;]*)”//每一个内容都由以下内容分隔:;delimeter Matcher Matcher=pc.Matcher(connection.getHeaderField(“内容配置”));if(matcher.find()){fileName=matcher.group(1);//获取文件名。假设url以fileName.type结尾}
File direct = new File(Environment.getExternalStorageDirectory() + "/urfoldername/");
if(!direct.exists())
{
direct.mkdir(); //directory is created;
}
file = new File("/sdcard/urfoldername/"+fileName);
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(file);
byte data[] = new byte[1024];
while ((count = input.read(data)) != -1)
{
total += count;
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();